home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / AIncludes / Files.a < prev    next >
Encoding:
Text File  |  1998-02-12  |  133.9 KB  |  4,640 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Files.a
  3. ;
  4. ;    Contains:    File Manager (HFS and MFS) Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.1
  8. ;
  9. ;    Copyright:    © 1985-1998 by Apple Computer, Inc., all rights reserved
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__FILES__') = 'UNDEFINED' THEN
  19. __FILES__ SET 1
  20.  
  21.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  22.     include 'MacTypes.a'
  23.     ENDIF
  24.     IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
  25.     include 'MixedMode.a'
  26.     ENDIF
  27.     IF &TYPE('__OSUTILS__') = 'UNDEFINED' THEN
  28.     include 'OSUtils.a'
  29.     ENDIF
  30.  
  31. ;  Finder constants where moved to Finder.≈ 
  32.     IF &TYPE('__FINDER__') = 'UNDEFINED' THEN
  33.     include 'Finder.a'
  34.     ENDIF
  35.  
  36.  
  37. fsAtMark                        EQU        0
  38. fsCurPerm                        EQU        0
  39. fsRdPerm                        EQU        1
  40. fInvisible                        EQU        16384
  41. fsWrPerm                        EQU        2
  42. fsRdWrPerm                        EQU        3
  43. fsRdWrShPerm                    EQU        4
  44. fsFromStart                        EQU        1
  45. fsFromLEOF                        EQU        2
  46. fsFromMark                        EQU        3
  47. rdVerify                        EQU        64
  48. ioMapBuffer                        EQU        4
  49. ioModeReserved                    EQU        8
  50. ioDirFlg                        EQU        4                    ; see IM IV-125 
  51. ioDirMask                        EQU        $10
  52. fsRtParID                        EQU        1
  53. fsRtDirID                        EQU        2
  54.  
  55.  
  56.                                                             ; CatSearch Search bitmask Constants 
  57. fsSBPartialName                    EQU        1
  58. fsSBFullName                    EQU        2
  59. fsSBFlAttrib                    EQU        4
  60. fsSBFlFndrInfo                    EQU        8
  61. fsSBFlLgLen                        EQU        32
  62. fsSBFlPyLen                        EQU        64
  63. fsSBFlRLgLen                    EQU        128
  64. fsSBFlRPyLen                    EQU        256
  65. fsSBFlCrDat                        EQU        512
  66. fsSBFlMdDat                        EQU        1024
  67. fsSBFlBkDat                        EQU        2048
  68. fsSBFlXFndrInfo                    EQU        4096
  69. fsSBFlParID                        EQU        8192
  70. fsSBNegate                        EQU        16384
  71. fsSBDrUsrWds                    EQU        8
  72. fsSBDrNmFls                        EQU        16
  73. fsSBDrCrDat                        EQU        512
  74. fsSBDrMdDat                        EQU        1024
  75. fsSBDrBkDat                        EQU        2048
  76. fsSBDrFndrInfo                    EQU        4096
  77. fsSBDrParID                        EQU        8192
  78.  
  79.                                                             ; CatSearch Search bit value Constants 
  80. fsSBPartialNameBit                EQU        0                    ;ioFileName points to a substring
  81. fsSBFullNameBit                    EQU        1                    ;ioFileName points to a match string
  82. fsSBFlAttribBit                    EQU        2                    ;search includes file attributes
  83. fsSBFlFndrInfoBit                EQU        3                    ;search includes finder info
  84. fsSBFlLgLenBit                    EQU        5                    ;search includes data logical length
  85. fsSBFlPyLenBit                    EQU        6                    ;search includes data physical length
  86. fsSBFlRLgLenBit                    EQU        7                    ;search includes resource logical length
  87. fsSBFlRPyLenBit                    EQU        8                    ;search includes resource physical length
  88. fsSBFlCrDatBit                    EQU        9                    ;search includes create date
  89. fsSBFlMdDatBit                    EQU        10                    ;search includes modification date
  90. fsSBFlBkDatBit                    EQU        11                    ;search includes backup date
  91. fsSBFlXFndrInfoBit                EQU        12                    ;search includes extended finder info
  92. fsSBFlParIDBit                    EQU        13                    ;search includes file's parent ID
  93. fsSBNegateBit                    EQU        14                    ;return all non-matches
  94. fsSBDrUsrWdsBit                    EQU        3                    ;search includes directory finder info
  95. fsSBDrNmFlsBit                    EQU        4                    ;search includes directory valence
  96. fsSBDrCrDatBit                    EQU        9                    ;directory-named version of fsSBFlCrDatBit
  97. fsSBDrMdDatBit                    EQU        10                    ;directory-named version of fsSBFlMdDatBit
  98. fsSBDrBkDatBit                    EQU        11                    ;directory-named version of fsSBFlBkDatBit
  99. fsSBDrFndrInfoBit                EQU        12                    ;directory-named version of fsSBFlXFndrInfoBit
  100. fsSBDrParIDBit                    EQU        13                    ;directory-named version of fsSBFlParIDBit
  101.  
  102.                                                             ; vMAttrib (GetVolParms) bit position constants 
  103. bLimitFCBs                        EQU        31
  104. bLocalWList                        EQU        30
  105. bNoMiniFndr                        EQU        29
  106. bNoVNEdit                        EQU        28
  107. bNoLclSync                        EQU        27
  108. bTrshOffLine                    EQU        26
  109. bNoSwitchTo                        EQU        25
  110. bNoDeskItems                    EQU        20
  111. bNoBootBlks                        EQU        19
  112. bAccessCntl                        EQU        18
  113. bNoSysDir                        EQU        17
  114. bHasExtFSVol                    EQU        16
  115. bHasOpenDeny                    EQU        15
  116. bHasCopyFile                    EQU        14
  117. bHasMoveRename                    EQU        13
  118. bHasDesktopMgr                    EQU        12
  119. bHasShortName                    EQU        11
  120. bHasFolderLock                    EQU        10
  121. bHasPersonalAccessPrivileges    EQU        9
  122. bHasUserGroupList                EQU        8
  123. bHasCatSearch                    EQU        7
  124. bHasFileIDs                        EQU        6
  125. bHasBTreeMgr                    EQU        5
  126. bHasBlankAccessPrivileges        EQU        4
  127. bSupportsAsyncRequests            EQU        3                    ; asynchronous requests to this volume are handled correctly at any time
  128. bSupportsTrashVolumeCache        EQU        2
  129.  
  130.  
  131.                                                             ; Desktop Database icon Constants 
  132. kLargeIcon                        EQU        1
  133. kLarge4BitIcon                    EQU        2
  134. kLarge8BitIcon                    EQU        3
  135. kSmallIcon                        EQU        4
  136. kSmall4BitIcon                    EQU        5
  137. kSmall8BitIcon                    EQU        6
  138.  
  139. kLargeIconSize                    EQU        256
  140. kLarge4BitIconSize                EQU        512
  141. kLarge8BitIconSize                EQU        1024
  142. kSmallIconSize                    EQU        64
  143. kSmall4BitIconSize                EQU        128
  144. kSmall8BitIconSize                EQU        256
  145.  
  146.                                                             ; Foreign Privilege Model Identifiers 
  147. fsUnixPriv                        EQU        1
  148.  
  149.                                                             ; Authentication Constants 
  150. kNoUserAuthentication            EQU        1
  151. kPassword                        EQU        2
  152. kEncryptPassword                EQU        3
  153. kTwoWayEncryptPassword            EQU        6
  154.  
  155. ;  mapping codes (ioObjType) for MapName & MapID 
  156.  
  157. kOwnerID2Name                    EQU        1
  158. kGroupID2Name                    EQU        2
  159. kOwnerName2ID                    EQU        3
  160. kGroupName2ID                    EQU        4                    ; types of oj object to be returned (ioObjType) for _GetUGEntry 
  161. kReturnNextUser                    EQU        1
  162. kReturnNextGroup                EQU        2
  163. kReturnNextUG                    EQU        3
  164.  
  165.  
  166. ;  Folder and File values of access privileges 
  167.  
  168. kfullPrivileges                    EQU        $00070007            ;            ; all privileges for everybody and owner
  169. kownerPrivileges                EQU        $00000007            ;            ; all privileges for owner only
  170. ;  values of user IDs and group IDs 
  171.  
  172. knoUser                            EQU        0
  173. kadministratorUser                EQU        1
  174.  
  175. knoGroup                        EQU        0
  176.  
  177. GetVolParmsInfoBuffer    RECORD 0
  178. vMVersion                 ds.w    1                ; offset: $0 (0)        ; version number
  179. vMAttrib                 ds.l    1                ; offset: $2 (2)        ; bit vector of attributes (see vMAttrib constants)
  180. vMLocalHand                 ds.l    1                ; offset: $6 (6)        ; handle to private data
  181. vMServerAdr                 ds.l    1                ; offset: $A (10)        ; AppleTalk server address or zero
  182. vMVolumeGrade             ds.l    1                ; offset: $E (14)        ; approx. speed rating or zero if unrated
  183. vMForeignPrivID             ds.w    1                ; offset: $12 (18)        ; foreign privilege model supported or zero if none
  184. sizeof                     EQU *                    ; size:   $14 (20)
  185.                         ENDR
  186. ; typedef ParamBlockRec *                ParmBlkPtr
  187.  
  188. IOParam                    RECORD 0
  189. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  190. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  191. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  192. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  193. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  194. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  195. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  196. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  197. ioRefNum                 ds.w    1                ; offset: $18 (24)        ; refNum for I/O operation
  198. ioVersNum                 ds.b    1                ; offset: $1A (26)        ; version number
  199. ioPermssn                 ds.b    1                ; offset: $1B (27)        ; Open: permissions (byte)
  200. ioMisc                     ds.l    1                ; offset: $1C (28)        ; Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)
  201. ioBuffer                 ds.l    1                ; offset: $20 (32)        ; data buffer Ptr
  202. ioReqCount                 ds.l    1                ; offset: $24 (36)        ; requested byte count; also = ioNewDirID
  203. ioActCount                 ds.l    1                ; offset: $28 (40)        ; actual byte count completed
  204. ioPosMode                 ds.w    1                ; offset: $2C (44)        ; initial file positioning
  205. ioPosOffset                 ds.l    1                ; offset: $2E (46)        ; file position offset
  206. sizeof                     EQU *                    ; size:   $32 (50)
  207.                         ENDR
  208. ; typedef struct IOParam *                IOParamPtr
  209.  
  210. FileParam                RECORD 0
  211. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  212. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  213. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  214. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  215. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  216. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  217. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  218. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  219. ioFRefNum                 ds.w    1                ; offset: $18 (24)        ; reference number
  220. ioFVersNum                 ds.b    1                ; offset: $1A (26)        ; version number
  221. filler1                     ds.b    1                ; offset: $1B (27)
  222. ioFDirIndex                 ds.w    1                ; offset: $1C (28)        ; GetFInfo directory index
  223. ioFlAttrib                 ds.b    1                ; offset: $1E (30)        ; GetFInfo: in-use bit=7, lock bit=0
  224. ioFlVersNum                 ds.b    1                ; offset: $1F (31)        ; file version number
  225. ioFlFndrInfo             ds        FInfo            ; offset: $20 (32)        ; user info
  226. ioFlNum                     ds.l    1                ; offset: $30 (48)        ; GetFInfo: file number; TF- ioDirID
  227. ioFlStBlk                 ds.w    1                ; offset: $34 (52)        ; start file block (0 if none)
  228. ioFlLgLen                 ds.l    1                ; offset: $36 (54)        ; logical length (EOF)
  229. ioFlPyLen                 ds.l    1                ; offset: $3A (58)        ; physical length
  230. ioFlRStBlk                 ds.w    1                ; offset: $3E (62)        ; start block rsrc fork
  231. ioFlRLgLen                 ds.l    1                ; offset: $40 (64)        ; file logical length rsrc fork
  232. ioFlRPyLen                 ds.l    1                ; offset: $44 (68)        ; file physical length rsrc fork
  233. ioFlCrDat                 ds.l    1                ; offset: $48 (72)        ; file creation date& time (32 bits in secs)
  234. ioFlMdDat                 ds.l    1                ; offset: $4C (76)        ; last modified date and time
  235. sizeof                     EQU *                    ; size:   $50 (80)
  236.                         ENDR
  237. ; typedef struct FileParam *            FileParamPtr
  238.  
  239. VolumeParam                RECORD 0
  240. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  241. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  242. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  243. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  244. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  245. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  246. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  247. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  248. filler2                     ds.l    1                ; offset: $18 (24)
  249. ioVolIndex                 ds.w    1                ; offset: $1C (28)        ; volume index number
  250. ioVCrDate                 ds.l    1                ; offset: $1E (30)        ; creation date and time
  251. ioVLsBkUp                 ds.l    1                ; offset: $22 (34)        ; last backup date and time
  252. ioVAtrb                     ds.w    1                ; offset: $26 (38)        ; volume attrib
  253. ioVNmFls                 ds.w    1                ; offset: $28 (40)        ; number of files in directory
  254. ioVDirSt                 ds.w    1                ; offset: $2A (42)        ; start block of file directory
  255. ioVBlLn                     ds.w    1                ; offset: $2C (44)        ; GetVolInfo: length of dir in blocks
  256. ioVNmAlBlks                 ds.w    1                ; offset: $2E (46)        ; for compatibilty ioVNmAlBlks * ioVAlBlkSiz <= 2 GB
  257. ioVAlBlkSiz                 ds.l    1                ; offset: $30 (48)        ; for compatibilty ioVAlBlkSiz is <= $0000FE00 (65,024)
  258. ioVClpSiz                 ds.l    1                ; offset: $34 (52)        ; GetVolInfo: bytes to allocate at a time
  259. ioAlBlSt                 ds.w    1                ; offset: $38 (56)        ; starting disk(512-byte) block in block map
  260. ioVNxtFNum                 ds.l    1                ; offset: $3A (58)        ; GetVolInfo: next free file number
  261. ioVFrBlk                 ds.w    1                ; offset: $3E (62)        ; GetVolInfo: # free alloc blks for this vol
  262. sizeof                     EQU *                    ; size:   $40 (64)
  263.                         ENDR
  264. ; typedef struct VolumeParam *            VolumeParamPtr
  265.  
  266. CntrlParam                RECORD 0
  267. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  268. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  269. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  270. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  271. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  272. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  273. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  274. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  275. ioCRefNum                 ds.w    1                ; offset: $18 (24)        ; refNum for I/O operation
  276. csCode                     ds.w    1                ; offset: $1A (26)        ; word for control status code
  277. csParam                     ds.w    11                ; offset: $1C (28)        ; operation-defined parameters
  278. sizeof                     EQU *                    ; size:   $32 (50)
  279.                         ENDR
  280. ; typedef struct CntrlParam *            CntrlParamPtr
  281.  
  282. SlotDevParam            RECORD 0
  283. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  284. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  285. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  286. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  287. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  288. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  289. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  290. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  291. ioSRefNum                 ds.w    1                ; offset: $18 (24)
  292. ioSVersNum                 ds.b    1                ; offset: $1A (26)
  293. ioSPermssn                 ds.b    1                ; offset: $1B (27)
  294. ioSMix                     ds.l    1                ; offset: $1C (28)
  295. ioSFlags                 ds.w    1                ; offset: $20 (32)
  296. ioSlot                     ds.b    1                ; offset: $22 (34)
  297. ioID                     ds.b    1                ; offset: $23 (35)
  298. sizeof                     EQU *                    ; size:   $24 (36)
  299.                         ENDR
  300. ; typedef struct SlotDevParam *            SlotDevParamPtr
  301.  
  302. MultiDevParam            RECORD 0
  303. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  304. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  305. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  306. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  307. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  308. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  309. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  310. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  311. ioMRefNum                 ds.w    1                ; offset: $18 (24)
  312. ioMVersNum                 ds.b    1                ; offset: $1A (26)
  313. ioMPermssn                 ds.b    1                ; offset: $1B (27)
  314. ioMMix                     ds.l    1                ; offset: $1C (28)
  315. ioMFlags                 ds.w    1                ; offset: $20 (32)
  316. ioSEBlkPtr                 ds.l    1                ; offset: $22 (34)
  317. sizeof                     EQU *                    ; size:   $26 (38)
  318.                         ENDR
  319. ; typedef struct MultiDevParam *        MultiDevParamPtr
  320.  
  321. ParamBlockRec            RECORD 0
  322. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  323. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  324. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  325. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  326. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  327. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  328. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  329. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  330. ioRefNum                 ds.w    1                ; offset: $18 (24)        ; refNum for I/O operation
  331. ioVersNum                 ds.b    1                ; offset: $1A (26)        ; version number
  332. ioPermssn                 ds.b    1                ; offset: $1B (27)        ; Open: permissions (byte)
  333. ioMisc                     ds.l    1                ; offset: $1C (28)        ; Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)
  334. ioBuffer                 ds.l    1                ; offset: $20 (32)        ; data buffer Ptr
  335. ioReqCount                 ds.l    1                ; offset: $24 (36)        ; requested byte count; also = ioNewDirID
  336. ioActCount                 ds.l    1                ; offset: $28 (40)        ; actual byte count completed
  337. ioPosMode                 ds.w    1                ; offset: $2C (44)        ; initial file positioning
  338. ioPosOffset                 ds.l    1                ; offset: $2E (46)        ; file position offset
  339.                          ORG 24
  340. ioFRefNum                 ds.w    1                ; offset: $18 (24)        ; reference number
  341. ioFVersNum                 ds.b    1                ; offset: $1A (26)        ; version number
  342. filler1                     ds.b    1                ; offset: $1B (27)
  343. ioFDirIndex                 ds.w    1                ; offset: $1C (28)        ; GetFInfo directory index
  344. ioFlAttrib                 ds.b    1                ; offset: $1E (30)        ; GetFInfo: in-use bit=7, lock bit=0
  345. ioFlVersNum                 ds.b    1                ; offset: $1F (31)        ; file version number
  346. ioFlFndrInfo             ds        FInfo            ; offset: $20 (32)        ; user info
  347. ioFlNum                     ds.l    1                ; offset: $30 (48)        ; GetFInfo: file number; TF- ioDirID
  348. ioFlStBlk                 ds.w    1                ; offset: $34 (52)        ; start file block (0 if none)
  349. ioFlLgLen                 ds.l    1                ; offset: $36 (54)        ; logical length (EOF)
  350. ioFlPyLen                 ds.l    1                ; offset: $3A (58)        ; physical length
  351. ioFlRStBlk                 ds.w    1                ; offset: $3E (62)        ; start block rsrc fork
  352. ioFlRLgLen                 ds.l    1                ; offset: $40 (64)        ; file logical length rsrc fork
  353. ioFlRPyLen                 ds.l    1                ; offset: $44 (68)        ; file physical length rsrc fork
  354. ioFlCrDat                 ds.l    1                ; offset: $48 (72)        ; file creation date& time (32 bits in secs)
  355. ioFlMdDat                 ds.l    1                ; offset: $4C (76)        ; last modified date and time
  356.                          ORG 24
  357. filler2                     ds.l    1                ; offset: $18 (24)
  358. ioVolIndex                 ds.w    1                ; offset: $1C (28)        ; volume index number
  359. ioVCrDate                 ds.l    1                ; offset: $1E (30)        ; creation date and time
  360. ioVLsBkUp                 ds.l    1                ; offset: $22 (34)        ; last backup date and time
  361. ioVAtrb                     ds.w    1                ; offset: $26 (38)        ; volume attrib
  362. ioVNmFls                 ds.w    1                ; offset: $28 (40)        ; number of files in directory
  363. ioVDirSt                 ds.w    1                ; offset: $2A (42)        ; start block of file directory
  364. ioVBlLn                     ds.w    1                ; offset: $2C (44)        ; GetVolInfo: length of dir in blocks
  365. ioVNmAlBlks                 ds.w    1                ; offset: $2E (46)        ; for compatibilty ioVNmAlBlks * ioVAlBlkSiz <= 2 GB
  366. ioVAlBlkSiz                 ds.l    1                ; offset: $30 (48)        ; for compatibilty ioVAlBlkSiz is <= $0000FE00 (65,024)
  367. ioVClpSiz                 ds.l    1                ; offset: $34 (52)        ; GetVolInfo: bytes to allocate at a time
  368. ioAlBlSt                 ds.w    1                ; offset: $38 (56)        ; starting disk(512-byte) block in block map
  369. ioVNxtFNum                 ds.l    1                ; offset: $3A (58)        ; GetVolInfo: next free file number
  370. ioVFrBlk                 ds.w    1                ; offset: $3E (62)        ; GetVolInfo: # free alloc blks for this vol
  371.                          ORG 24
  372. ioCRefNum                 ds.w    1                ; offset: $18 (24)        ; refNum for I/O operation
  373. csCode                     ds.w    1                ; offset: $1A (26)        ; word for control status code
  374. csParam                     ds.w    11                ; offset: $1C (28)        ; operation-defined parameters
  375.                          ORG 24
  376. ioSRefNum                 ds.w    1                ; offset: $18 (24)
  377. ioSVersNum                 ds.b    1                ; offset: $1A (26)
  378. ioSPermssn                 ds.b    1                ; offset: $1B (27)
  379. ioSMix                     ds.l    1                ; offset: $1C (28)
  380. ioSFlags                 ds.w    1                ; offset: $20 (32)
  381. ioSlot                     ds.b    1                ; offset: $22 (34)
  382. ioID                     ds.b    1                ; offset: $23 (35)
  383.                          ORG 24
  384. ioMRefNum                 ds.w    1                ; offset: $18 (24)
  385. ioMVersNum                 ds.b    1                ; offset: $1A (26)
  386. ioMPermssn                 ds.b    1                ; offset: $1B (27)
  387. ioMMix                     ds.l    1                ; offset: $1C (28)
  388. ioMFlags                 ds.w    1                ; offset: $20 (32)
  389. ioSEBlkPtr                 ds.l    1                ; offset: $22 (34)
  390.                          ORG 80
  391. sizeof                     EQU *                    ; size:   $50 (80)
  392.                         ENDR
  393. CInfoPBRec                RECORD 0
  394. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  395. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  396. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  397. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  398. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  399. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  400. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  401. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  402. ioFRefNum                 ds.w    1                ; offset: $18 (24)
  403. ioFVersNum                 ds.b    1                ; offset: $1A (26)
  404. filler1                     ds.b    1                ; offset: $1B (27)
  405. ioFDirIndex                 ds.w    1                ; offset: $1C (28)
  406. ioFlAttrib                 ds.b    1                ; offset: $1E (30)
  407. ioACUser                 ds.b    1                ; offset: $1F (31)
  408. ioFlFndrInfo             ds        FInfo            ; offset: $20 (32)
  409. ioDirID                     ds.l    1                ; offset: $30 (48)
  410. ioFlStBlk                 ds.w    1                ; offset: $34 (52)
  411. ioFlLgLen                 ds.l    1                ; offset: $36 (54)
  412. ioFlPyLen                 ds.l    1                ; offset: $3A (58)
  413. ioFlRStBlk                 ds.w    1                ; offset: $3E (62)
  414. ioFlRLgLen                 ds.l    1                ; offset: $40 (64)
  415. ioFlRPyLen                 ds.l    1                ; offset: $44 (68)
  416. ioFlCrDat                 ds.l    1                ; offset: $48 (72)
  417. ioFlMdDat                 ds.l    1                ; offset: $4C (76)
  418. ioFlBkDat                 ds.l    1                ; offset: $50 (80)
  419. ioFlXFndrInfo             ds        FXInfo            ; offset: $54 (84)
  420. ioFlParID                 ds.l    1                ; offset: $64 (100)
  421. ioFlClpSiz                 ds.l    1                ; offset: $68 (104)
  422.                          ORG 32
  423. ioDrUsrWds                 ds        DInfo            ; offset: $20 (32)
  424. ioDrDirID                 ds.l    1                ; offset: $30 (48)
  425. ioDrNmFls                 ds.w    1                ; offset: $34 (52)
  426. filler3                     ds.w    9                ; offset: $36 (54)
  427. ioDrCrDat                 ds.l    1                ; offset: $48 (72)
  428. ioDrMdDat                 ds.l    1                ; offset: $4C (76)
  429. ioDrBkDat                 ds.l    1                ; offset: $50 (80)
  430. ioDrFndrInfo             ds        DXInfo            ; offset: $54 (84)
  431. ioDrParID                 ds.l    1                ; offset: $64 (100)
  432.                          ORG 108
  433. sizeof                     EQU *                    ; size:   $6C (108)
  434.                         ENDR
  435. ; typedef union CInfoPBRec *            CInfoPBPtr
  436.  
  437. XCInfoPBRec                RECORD 0
  438. qLink                     ds.l    1                ; offset: $0 (0)
  439. qType                     ds.w    1                ; offset: $4 (4)
  440. ioTrap                     ds.w    1                ; offset: $6 (6)
  441. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  442. ioCompletion             ds.l    1                ; offset: $C (12)        ;  --> A pointer to a completion routine 
  443. ioResult                 ds.w    1                ; offset: $10 (16)        ;  --> The result code of the function 
  444. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ;  --> Pointer to pathname to object 
  445. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ;  --> A volume specification 
  446. filler1                     ds.l    1                ; offset: $18 (24)
  447. ioShortNamePtr             ds.l    1                ; offset: $1C (28)        ;  <-> A pointer to the short name string buffer - required! 
  448. filler2                     ds.w    1                ; offset: $20 (32)
  449. ioPDType                 ds.w    1                ; offset: $22 (34)        ;  <-- The ProDOS file type 
  450. ioPDAuxType                 ds.l    1                ; offset: $24 (36)        ;  <-- The ProDOS aux type 
  451. filler3                     ds.l    2                ; offset: $28 (40)
  452. ioDirID                     ds.l    1                ; offset: $30 (48)        ;  --> A directory ID 
  453. sizeof                     EQU *                    ; size:   $34 (52)
  454.                         ENDR
  455. ; typedef struct XCInfoPBRec *            XCInfoPBPtr
  456.  
  457. ;  Catalog position record 
  458. CatPositionRec            RECORD 0
  459. initialize                 ds.l    1                ; offset: $0 (0)
  460. priv                     ds.w    6                ; offset: $4 (4)
  461. sizeof                     EQU *                    ; size:   $10 (16)
  462.                         ENDR
  463. FSSpec                    RECORD 0
  464. vRefNum                     ds.w    1                ; offset: $0 (0)
  465. parID                     ds.l    1                ; offset: $2 (2)
  466. name                     ds        StrFileName        ; offset: $6 (6)        ;  a Str63 on MacOS
  467. sizeof                     EQU *                    ; size:   $46 (70)
  468.                         ENDR
  469. ; typedef struct FSSpec *                FSSpecPtr
  470.  
  471. ; typedef FSSpecPtr *                    FSSpecHandle
  472.  
  473. ;  pointer to array of FSSpecs 
  474. ;  
  475. ;    The only difference between "const FSSpec*" and "ConstFSSpecPtr" is 
  476. ;    that as a parameter, ConstFSSpecPtr is allowed to be NULL 
  477. ;
  478.  
  479. ; typedef const struct FSSpec *            ConstFSSpecPtr
  480.  
  481.  
  482. ;  
  483. ;    The following are structures to be filled out with the _PBGetVolMountInfo call
  484. ;    and passed back into the _PBVolumeMount call for external file system mounts. 
  485. ;
  486.  
  487. ;  the "signature" of the file system 
  488. ; typedef OSType                         VolumeType
  489.  
  490.  
  491.                                                             ; the signature for AppleShare 
  492. AppleShareMediaType                EQU        'afpm'
  493. ;    VolMount stuff was once in FSM.≈
  494. ;
  495.  
  496. VolMountInfoHeader        RECORD 0
  497. length                     ds.w    1                ; offset: $0 (0)        ;  length of location data (including self) 
  498. media                     ds.l    1                ; offset: $2 (2)        ;  type of media.  Variable length data follows 
  499. sizeof                     EQU *                    ; size:   $6 (6)
  500.                         ENDR
  501. ; typedef struct VolMountInfoHeader *    VolMountInfoPtr
  502.  
  503. ;  The new volume mount info record.  The old one is included for compatibility. 
  504. ;    the new record allows access by foriegn filesystems writers to the flags 
  505. ;    portion of the record. This portion is now public.  
  506. ;
  507.  
  508. VolumeMountInfoHeader    RECORD 0
  509. length                     ds.w    1                ; offset: $0 (0)        ;  length of location data (including self) 
  510. media                     ds.l    1                ; offset: $2 (2)        ;  type of media (must be registered with Apple) 
  511. flags                     ds.w    1                ; offset: $6 (6)        ;  volume mount flags. Variable length data follows 
  512. sizeof                     EQU *                    ; size:   $8 (8)
  513.                         ENDR
  514. ; typedef struct VolumeMountInfoHeader * VolumeMountInfoHeaderPtr
  515.  
  516. ;  volume mount flags 
  517.  
  518. volMountNoLoginMsgFlagBit        EQU        0                    ; Input to VolumeMount: If set, the file system 
  519. volMountNoLoginMsgFlagMask        EQU        $0001                ;  should suppresss any log-in message/greeting dialog 
  520. volMountExtendedFlagsBit        EQU        7                    ; Input to VolumeMount: If set, the mount info is a 
  521. volMountExtendedFlagsMask        EQU        $0080                ;  AFPXVolMountInfo record for 3.7 AppleShare Client 
  522. volMountInteractBit                EQU        15                    ; Input to VolumeMount: If set, it's OK for the file system 
  523. volMountInteractMask            EQU        $8000                ;  to perform user interaction to mount the volume 
  524. volMountChangedBit                EQU        14                    ; Output from VoumeMount: If set, the volume was mounted, but 
  525. volMountChangedMask                EQU        $4000                ;  the volume mounting information record needs to be updated. 
  526. volMountFSReservedMask            EQU        $00FF                ; bits 0-7 are defined by each file system for its own use 
  527. volMountSysReservedMask            EQU        $FF00                ; bits 8-15 are reserved for Apple system use 
  528.  
  529.  
  530. AFPVolMountInfo            RECORD 0
  531. length                     ds.w    1                ; offset: $0 (0)        ;  length of location data (including self) 
  532. media                     ds.l    1                ; offset: $2 (2)        ;  type of media 
  533. flags                     ds.w    1                ; offset: $6 (6)        ;  bits for no messages, no reconnect 
  534. nbpInterval                 ds.b    1                ; offset: $8 (8)        ;  NBP Interval parameter (IM2, p.322) 
  535. nbpCount                 ds.b    1                ; offset: $9 (9)        ;  NBP Interval parameter (IM2, p.322) 
  536. uamType                     ds.w    1                ; offset: $A (10)        ;  User Authentication Method 
  537. zoneNameOffset             ds.w    1                ; offset: $C (12)        ;  short positive offset from start of struct to Zone Name 
  538. serverNameOffset         ds.w    1                ; offset: $E (14)        ;  offset to pascal Server Name string 
  539. volNameOffset             ds.w    1                ; offset: $10 (16)        ;  offset to pascal Volume Name string 
  540. userNameOffset             ds.w    1                ; offset: $12 (18)        ;  offset to pascal User Name string 
  541. userPasswordOffset         ds.w    1                ; offset: $14 (20)        ;  offset to pascal User Password string 
  542. volPasswordOffset         ds.w    1                ; offset: $16 (22)        ;  offset to pascal Volume Password string 
  543. AFPData                     ds.b    144                ; offset: $18 (24)        ;  variable length data may follow 
  544. sizeof                     EQU *                    ; size:   $A8 (168)
  545.                         ENDR
  546. ; typedef struct AFPVolMountInfo *        AFPVolMountInfoPtr
  547.  
  548.  
  549.  
  550. ;  AFPXVolMountInfo is the new AFP volume mount info record, requires the 3.7 AppleShare Client 
  551. AFPXVolMountInfo        RECORD 0
  552. length                     ds.w    1                ; offset: $0 (0)        ;  length of location data (including self) 
  553. media                     ds.l    1                ; offset: $2 (2)        ;  type of media 
  554. flags                     ds.w    1                ; offset: $6 (6)        ;  bits for no messages, no reconnect 
  555. nbpInterval                 ds.b    1                ; offset: $8 (8)        ;  NBP Interval parameter (IM2, p.322) 
  556. nbpCount                 ds.b    1                ; offset: $9 (9)        ;  NBP Interval parameter (IM2, p.322) 
  557. uamType                     ds.w    1                ; offset: $A (10)        ;  User Authentication Method type 
  558. zoneNameOffset             ds.w    1                ; offset: $C (12)        ;  short positive offset from start of struct to Zone Name 
  559. serverNameOffset         ds.w    1                ; offset: $E (14)        ;  offset to pascal Server Name string 
  560. volNameOffset             ds.w    1                ; offset: $10 (16)        ;  offset to pascal Volume Name string 
  561. userNameOffset             ds.w    1                ; offset: $12 (18)        ;  offset to pascal User Name string 
  562. userPasswordOffset         ds.w    1                ; offset: $14 (20)        ;  offset to pascal User Password string 
  563. volPasswordOffset         ds.w    1                ; offset: $16 (22)        ;  offset to pascal Volume Password string 
  564. extendedFlags             ds.w    1                ; offset: $18 (24)        ;  extended flags word 
  565. uamNameOffset             ds.w    1                ; offset: $1A (26)        ;  offset to a pascal UAM name string 
  566. alternateAddressOffset     ds.w    1                ; offset: $1C (28)        ;  offset to Alternate Addresses in tagged format 
  567. AFPData                     ds.b    176                ; offset: $1E (30)        ;  variable length data may follow 
  568. sizeof                     EQU *                    ; size:   $CE (206)
  569.                         ENDR
  570. ; typedef struct AFPXVolMountInfo *        AFPXVolMountInfoPtr
  571.  
  572.  
  573. kAFPExtendedFlagsAlternateAddressMask EQU 1                    ;  bit in AFPXVolMountInfo.extendedFlags that means alternateAddressOffset is used
  574.  
  575.  
  576.                                                             ; constants for use in AFPTagData.fType field
  577. kAFPTagTypeIP                    EQU        $01
  578. kAFPTagTypeIPPort                EQU        $02
  579. kAFPTagTypeDDP                    EQU        $03                    ; Currently unused
  580.  
  581.  
  582.                                                             ; constants for use in AFPTagData.fLength field
  583. kAFPTagLengthIP                    EQU        $06
  584. kAFPTagLengthIPPort                EQU        $08
  585. kAFPTagLengthDDP                EQU        $06
  586. AFPTagData                RECORD 0
  587. fLength                     ds.b    1                ; offset: $0 (0)        ;  length of this data tag including the fLength field 
  588. fType                     ds.b    1                ; offset: $1 (1)
  589. fData                     ds.b    1                ; offset: $2 (2) <-- really an array of length one ;  variable length data 
  590.                          ORG 4
  591. sizeof                     EQU *                    ; size:   $4 (4)
  592.                         ENDR
  593. AFPAlternateAddress        RECORD 0
  594. fAddressCount             ds.b    1                ; offset: $0 (0)
  595. fAddressList             ds.b    1                ; offset: $1 (1) <-- really an array of length one ;  actually variable length packed set of AFPTagData 
  596. sizeof                     EQU *                    ; size:   $2 (2)
  597.                         ENDR
  598.  
  599.  
  600. DTPBRec                    RECORD 0
  601. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  602. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  603. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  604. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  605. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  606. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  607. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  608. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  609. ioDTRefNum                 ds.w    1                ; offset: $18 (24)        ;  desktop refnum 
  610. ioIndex                     ds.w    1                ; offset: $1A (26)
  611. ioTagInfo                 ds.l    1                ; offset: $1C (28)
  612. ioDTBuffer                 ds.l    1                ; offset: $20 (32)
  613. ioDTReqCount             ds.l    1                ; offset: $24 (36)
  614. ioDTActCount             ds.l    1                ; offset: $28 (40)
  615. ioFiller1                 ds.b    1                ; offset: $2C (44)
  616. ioIconType                 ds.b    1                ; offset: $2D (45)
  617. ioFiller2                 ds.w    1                ; offset: $2E (46)
  618. ioDirID                     ds.l    1                ; offset: $30 (48)
  619. ioFileCreator             ds.l    1                ; offset: $34 (52)
  620. ioFileType                 ds.l    1                ; offset: $38 (56)
  621. ioFiller3                 ds.l    1                ; offset: $3C (60)
  622. ioDTLgLen                 ds.l    1                ; offset: $40 (64)
  623. ioDTPyLen                 ds.l    1                ; offset: $44 (68)
  624. ioFiller4                 ds.w    14                ; offset: $48 (72)
  625. ioAPPLParID                 ds.l    1                ; offset: $64 (100)
  626. sizeof                     EQU *                    ; size:   $68 (104)
  627.                         ENDR
  628. ; typedef struct DTPBRec *                DTPBPtr
  629.  
  630. HIOParam                RECORD 0
  631. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  632. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  633. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  634. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  635. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  636. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  637. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  638. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  639. ioRefNum                 ds.w    1                ; offset: $18 (24)
  640. ioVersNum                 ds.b    1                ; offset: $1A (26)
  641. ioPermssn                 ds.b    1                ; offset: $1B (27)
  642. ioMisc                     ds.l    1                ; offset: $1C (28)
  643. ioBuffer                 ds.l    1                ; offset: $20 (32)
  644. ioReqCount                 ds.l    1                ; offset: $24 (36)
  645. ioActCount                 ds.l    1                ; offset: $28 (40)
  646. ioPosMode                 ds.w    1                ; offset: $2C (44)
  647. ioPosOffset                 ds.l    1                ; offset: $2E (46)
  648. sizeof                     EQU *                    ; size:   $32 (50)
  649.                         ENDR
  650. ; typedef struct HIOParam *                HIOParamPtr
  651.  
  652. HFileParam                RECORD 0
  653. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  654. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  655. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  656. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  657. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  658. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  659. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  660. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  661. ioFRefNum                 ds.w    1                ; offset: $18 (24)
  662. ioFVersNum                 ds.b    1                ; offset: $1A (26)
  663. filler1                     ds.b    1                ; offset: $1B (27)
  664. ioFDirIndex                 ds.w    1                ; offset: $1C (28)
  665. ioFlAttrib                 ds.b    1                ; offset: $1E (30)
  666. ioFlVersNum                 ds.b    1                ; offset: $1F (31)
  667. ioFlFndrInfo             ds        FInfo            ; offset: $20 (32)
  668. ioDirID                     ds.l    1                ; offset: $30 (48)
  669. ioFlStBlk                 ds.w    1                ; offset: $34 (52)
  670. ioFlLgLen                 ds.l    1                ; offset: $36 (54)
  671. ioFlPyLen                 ds.l    1                ; offset: $3A (58)
  672. ioFlRStBlk                 ds.w    1                ; offset: $3E (62)
  673. ioFlRLgLen                 ds.l    1                ; offset: $40 (64)
  674. ioFlRPyLen                 ds.l    1                ; offset: $44 (68)
  675. ioFlCrDat                 ds.l    1                ; offset: $48 (72)
  676. ioFlMdDat                 ds.l    1                ; offset: $4C (76)
  677. sizeof                     EQU *                    ; size:   $50 (80)
  678.                         ENDR
  679. ; typedef struct HFileParam *            HFileParamPtr
  680.  
  681. HVolumeParam            RECORD 0
  682. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  683. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  684. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  685. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  686. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  687. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  688. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  689. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  690. filler2                     ds.l    1                ; offset: $18 (24)
  691. ioVolIndex                 ds.w    1                ; offset: $1C (28)
  692. ioVCrDate                 ds.l    1                ; offset: $1E (30)
  693. ioVLsMod                 ds.l    1                ; offset: $22 (34)
  694. ioVAtrb                     ds.w    1                ; offset: $26 (38)
  695. ioVNmFls                 ds.w    1                ; offset: $28 (40)
  696. ioVBitMap                 ds.w    1                ; offset: $2A (42)
  697. ioAllocPtr                 ds.w    1                ; offset: $2C (44)
  698. ioVNmAlBlks                 ds.w    1                ; offset: $2E (46)
  699. ioVAlBlkSiz                 ds.l    1                ; offset: $30 (48)
  700. ioVClpSiz                 ds.l    1                ; offset: $34 (52)
  701. ioAlBlSt                 ds.w    1                ; offset: $38 (56)
  702. ioVNxtCNID                 ds.l    1                ; offset: $3A (58)
  703. ioVFrBlk                 ds.w    1                ; offset: $3E (62)
  704. ioVSigWord                 ds.w    1                ; offset: $40 (64)
  705. ioVDrvInfo                 ds.w    1                ; offset: $42 (66)
  706. ioVDRefNum                 ds.w    1                ; offset: $44 (68)
  707. ioVFSID                     ds.w    1                ; offset: $46 (70)
  708. ioVBkUp                     ds.l    1                ; offset: $48 (72)
  709. ioVSeqNum                 ds.w    1                ; offset: $4C (76)
  710. ioVWrCnt                 ds.l    1                ; offset: $4E (78)
  711. ioVFilCnt                 ds.l    1                ; offset: $52 (82)
  712. ioVDirCnt                 ds.l    1                ; offset: $56 (86)
  713. ioVFndrInfo                 ds.l    8                ; offset: $5A (90)
  714. sizeof                     EQU *                    ; size:   $7A (122)
  715.                         ENDR
  716. ; typedef struct HVolumeParam *            HVolumeParamPtr
  717.  
  718.  
  719.                                                             ; Large Volume Constants 
  720. kWidePosOffsetBit                EQU        8
  721. kMaximumBlocksIn4GB                EQU        $007FFFFF
  722. XIOParam                RECORD 0
  723. qLink                     ds.l    1                ; offset: $0 (0)
  724. qType                     ds.w    1                ; offset: $4 (4)
  725. ioTrap                     ds.w    1                ; offset: $6 (6)
  726. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  727. ioCompletion             ds.l    1                ; offset: $C (12)
  728. ioResult                 ds.w    1                ; offset: $10 (16)
  729. ioNamePtr                 ds.l    1                ; offset: $12 (18)
  730. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  731. ioRefNum                 ds.w    1                ; offset: $18 (24)
  732. ioVersNum                 ds.b    1                ; offset: $1A (26)
  733. ioPermssn                 ds.b    1                ; offset: $1B (27)
  734. ioMisc                     ds.l    1                ; offset: $1C (28)
  735. ioBuffer                 ds.l    1                ; offset: $20 (32)
  736. ioReqCount                 ds.l    1                ; offset: $24 (36)
  737. ioActCount                 ds.l    1                ; offset: $28 (40)
  738. ioPosMode                 ds.w    1                ; offset: $2C (44)        ;  must have kUseWidePositioning bit set 
  739. ioWPosOffset             ds        wide            ; offset: $2E (46)        ;  wide positioning offset 
  740. sizeof                     EQU *                    ; size:   $36 (54)
  741.                         ENDR
  742. ; typedef struct XIOParam *                XIOParamPtr
  743.  
  744. XVolumeParam            RECORD 0
  745. qLink                     ds.l    1                ; offset: $0 (0)
  746. qType                     ds.w    1                ; offset: $4 (4)
  747. ioTrap                     ds.w    1                ; offset: $6 (6)
  748. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  749. ioCompletion             ds.l    1                ; offset: $C (12)
  750. ioResult                 ds.w    1                ; offset: $10 (16)
  751. ioNamePtr                 ds.l    1                ; offset: $12 (18)
  752. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  753. ioXVersion                 ds.l    1                ; offset: $18 (24)        ;  this XVolumeParam version (0) 
  754. ioVolIndex                 ds.w    1                ; offset: $1C (28)
  755. ioVCrDate                 ds.l    1                ; offset: $1E (30)
  756. ioVLsMod                 ds.l    1                ; offset: $22 (34)
  757. ioVAtrb                     ds.w    1                ; offset: $26 (38)
  758. ioVNmFls                 ds.w    1                ; offset: $28 (40)
  759. ioVBitMap                 ds.w    1                ; offset: $2A (42)
  760. ioAllocPtr                 ds.w    1                ; offset: $2C (44)
  761. ioVNmAlBlks                 ds.w    1                ; offset: $2E (46)
  762. ioVAlBlkSiz                 ds.l    1                ; offset: $30 (48)
  763. ioVClpSiz                 ds.l    1                ; offset: $34 (52)
  764. ioAlBlSt                 ds.w    1                ; offset: $38 (56)
  765. ioVNxtCNID                 ds.l    1                ; offset: $3A (58)
  766. ioVFrBlk                 ds.w    1                ; offset: $3E (62)
  767. ioVSigWord                 ds.w    1                ; offset: $40 (64)
  768. ioVDrvInfo                 ds.w    1                ; offset: $42 (66)
  769. ioVDRefNum                 ds.w    1                ; offset: $44 (68)
  770. ioVFSID                     ds.w    1                ; offset: $46 (70)
  771. ioVBkUp                     ds.l    1                ; offset: $48 (72)
  772. ioVSeqNum                 ds.w    1                ; offset: $4C (76)
  773. ioVWrCnt                 ds.l    1                ; offset: $4E (78)
  774. ioVFilCnt                 ds.l    1                ; offset: $52 (82)
  775. ioVDirCnt                 ds.l    1                ; offset: $56 (86)
  776. ioVFndrInfo                 ds.l    8                ; offset: $5A (90)
  777. ioVTotalBytes             ds        UnsignedWide    ; offset: $7A (122)        ;  total number of bytes on volume 
  778. ioVFreeBytes             ds        UnsignedWide    ; offset: $82 (130)        ;  number of free bytes on volume 
  779. sizeof                     EQU *                    ; size:   $8A (138)
  780.                         ENDR
  781. ; typedef struct XVolumeParam *            XVolumeParamPtr
  782.  
  783. AccessParam                RECORD 0
  784. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  785. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  786. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  787. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  788. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  789. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  790. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  791. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  792. filler3                     ds.w    1                ; offset: $18 (24)
  793. ioDenyModes                 ds.w    1                ; offset: $1A (26)        ; access rights data
  794. filler4                     ds.w    1                ; offset: $1C (28)
  795. filler5                     ds.b    1                ; offset: $1E (30)
  796. ioACUser                 ds.b    1                ; offset: $1F (31)        ; access rights for directory only
  797. filler6                     ds.l    1                ; offset: $20 (32)
  798. ioACOwnerID                 ds.l    1                ; offset: $24 (36)        ; owner ID
  799. ioACGroupID                 ds.l    1                ; offset: $28 (40)        ; group ID
  800. ioACAccess                 ds.l    1                ; offset: $2C (44)        ; access rights
  801. ioDirID                     ds.l    1                ; offset: $30 (48)
  802. sizeof                     EQU *                    ; size:   $34 (52)
  803.                         ENDR
  804. ; typedef struct AccessParam *            AccessParamPtr
  805.  
  806. ObjParam                RECORD 0
  807. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  808. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  809. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  810. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  811. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  812. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  813. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  814. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  815. filler7                     ds.w    1                ; offset: $18 (24)
  816. ioObjType                 ds.w    1                ; offset: $1A (26)        ; function code
  817. ioObjNamePtr             ds.l    1                ; offset: $1C (28)        ; ptr to returned creator/group name
  818. ioObjID                     ds.l    1                ; offset: $20 (32)        ; creator/group ID
  819. sizeof                     EQU *                    ; size:   $24 (36)
  820.                         ENDR
  821. ; typedef struct ObjParam *                ObjParamPtr
  822.  
  823. CopyParam                RECORD 0
  824. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  825. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  826. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  827. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  828. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  829. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  830. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  831. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  832. ioDstVRefNum             ds.w    1                ; offset: $18 (24)        ; destination vol identifier
  833. filler8                     ds.w    1                ; offset: $1A (26)
  834. ioNewName                 ds.l    1                ; offset: $1C (28)        ; ptr to destination pathname
  835. ioCopyName                 ds.l    1                ; offset: $20 (32)        ; ptr to optional name
  836. ioNewDirID                 ds.l    1                ; offset: $24 (36)        ; destination directory ID
  837. filler14                 ds.l    1                ; offset: $28 (40)
  838. filler15                 ds.l    1                ; offset: $2C (44)
  839. ioDirID                     ds.l    1                ; offset: $30 (48)
  840. sizeof                     EQU *                    ; size:   $34 (52)
  841.                         ENDR
  842. ; typedef struct CopyParam *            CopyParamPtr
  843.  
  844. WDParam                    RECORD 0
  845. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  846. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  847. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  848. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  849. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  850. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  851. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  852. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  853. filler9                     ds.w    1                ; offset: $18 (24)
  854. ioWDIndex                 ds.w    1                ; offset: $1A (26)
  855. ioWDProcID                 ds.l    1                ; offset: $1C (28)
  856. ioWDVRefNum                 ds.w    1                ; offset: $20 (32)
  857. filler10                 ds.w    1                ; offset: $22 (34)
  858. filler11                 ds.l    1                ; offset: $24 (36)
  859. filler12                 ds.l    1                ; offset: $28 (40)
  860. filler13                 ds.l    1                ; offset: $2C (44)
  861. ioWDDirID                 ds.l    1                ; offset: $30 (48)
  862. sizeof                     EQU *                    ; size:   $34 (52)
  863.                         ENDR
  864. ; typedef struct WDParam *                WDParamPtr
  865.  
  866. FIDParam                RECORD 0
  867. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  868. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  869. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  870. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  871. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  872. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  873. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  874. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  875. filler14                 ds.l    1                ; offset: $18 (24)
  876. ioDestNamePtr             ds.l    1                ; offset: $1C (28)        ;  dest file name 
  877. filler15                 ds.l    1                ; offset: $20 (32)
  878. ioDestDirID                 ds.l    1                ; offset: $24 (36)        ;  dest file's directory id 
  879. filler16                 ds.l    1                ; offset: $28 (40)
  880. filler17                 ds.l    1                ; offset: $2C (44)
  881. ioSrcDirID                 ds.l    1                ; offset: $30 (48)        ;  source file's directory id 
  882. filler18                 ds.w    1                ; offset: $34 (52)
  883. ioFileID                 ds.l    1                ; offset: $36 (54)        ;  file ID 
  884. sizeof                     EQU *                    ; size:   $3A (58)
  885.                         ENDR
  886. ; typedef struct FIDParam *                FIDParamPtr
  887.  
  888. ForeignPrivParam        RECORD 0
  889. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  890. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  891. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  892. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  893. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  894. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  895. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  896. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  897. ioFiller21                 ds.l    1                ; offset: $18 (24)
  898. ioFiller22                 ds.l    1                ; offset: $1C (28)
  899. ioForeignPrivBuffer         ds.l    1                ; offset: $20 (32)
  900. ioForeignPrivActCount     ds.l    1                ; offset: $24 (36)
  901. ioForeignPrivReqCount     ds.l    1                ; offset: $28 (40)
  902. ioFiller23                 ds.l    1                ; offset: $2C (44)
  903. ioForeignPrivDirID         ds.l    1                ; offset: $30 (48)
  904. ioForeignPrivInfo1         ds.l    1                ; offset: $34 (52)
  905. ioForeignPrivInfo2         ds.l    1                ; offset: $38 (56)
  906. ioForeignPrivInfo3         ds.l    1                ; offset: $3C (60)
  907. ioForeignPrivInfo4         ds.l    1                ; offset: $40 (64)
  908. sizeof                     EQU *                    ; size:   $44 (68)
  909.                         ENDR
  910. ; typedef struct ForeignPrivParam *        ForeignPrivParamPtr
  911.  
  912. CSParam                    RECORD 0
  913. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  914. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  915. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  916. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  917. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  918. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  919. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  920. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  921. ioMatchPtr                 ds.l    1                ; offset: $18 (24)        ;  match array 
  922. ioReqMatchCount             ds.l    1                ; offset: $1C (28)        ;  maximum allowable matches 
  923. ioActMatchCount             ds.l    1                ; offset: $20 (32)        ;  actual match count 
  924. ioSearchBits             ds.l    1                ; offset: $24 (36)        ;  search criteria selector 
  925. ioSearchInfo1             ds.l    1                ; offset: $28 (40)        ;  search values and range lower bounds 
  926. ioSearchInfo2             ds.l    1                ; offset: $2C (44)        ;  search values and range upper bounds 
  927. ioSearchTime             ds.l    1                ; offset: $30 (48)        ;  length of time to run search 
  928. ioCatPosition             ds        CatPositionRec ; offset: $34 (52)        ;  current position in the catalog 
  929. ioOptBuffer                 ds.l    1                ; offset: $44 (68)        ;  optional performance enhancement buffer 
  930. ioOptBufSize             ds.l    1                ; offset: $48 (72)        ;  size of buffer pointed to by ioOptBuffer 
  931. sizeof                     EQU *                    ; size:   $4C (76)
  932.                         ENDR
  933. ; typedef struct CSParam *                CSParamPtr
  934.  
  935.  
  936.  
  937. HParamBlockRec            RECORD 0
  938. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  939. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  940. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  941. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  942. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  943. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  944. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  945. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  946. ioRefNum                 ds.w    1                ; offset: $18 (24)
  947. ioVersNum                 ds.b    1                ; offset: $1A (26)
  948. ioPermssn                 ds.b    1                ; offset: $1B (27)
  949. ioMisc                     ds.l    1                ; offset: $1C (28)
  950. ioBuffer                 ds.l    1                ; offset: $20 (32)
  951. ioReqCount                 ds.l    1                ; offset: $24 (36)
  952. ioActCount                 ds.l    1                ; offset: $28 (40)
  953. ioPosMode                 ds.w    1                ; offset: $2C (44)
  954. ioPosOffset                 ds.l    1                ; offset: $2E (46)
  955.                          ORG 24
  956. ioFRefNum                 ds.w    1                ; offset: $18 (24)
  957. ioFVersNum                 ds.b    1                ; offset: $1A (26)
  958. filler1                     ds.b    1                ; offset: $1B (27)
  959. ioFDirIndex                 ds.w    1                ; offset: $1C (28)
  960. ioFlAttrib                 ds.b    1                ; offset: $1E (30)
  961. ioFlVersNum                 ds.b    1                ; offset: $1F (31)
  962. ioFlFndrInfo             ds        FInfo            ; offset: $20 (32)
  963. ioDirID                     ds.l    1                ; offset: $30 (48)
  964. ioFlStBlk                 ds.w    1                ; offset: $34 (52)
  965. ioFlLgLen                 ds.l    1                ; offset: $36 (54)
  966. ioFlPyLen                 ds.l    1                ; offset: $3A (58)
  967. ioFlRStBlk                 ds.w    1                ; offset: $3E (62)
  968. ioFlRLgLen                 ds.l    1                ; offset: $40 (64)
  969. ioFlRPyLen                 ds.l    1                ; offset: $44 (68)
  970. ioFlCrDat                 ds.l    1                ; offset: $48 (72)
  971. ioFlMdDat                 ds.l    1                ; offset: $4C (76)
  972.                          ORG 24
  973. filler2                     ds.l    1                ; offset: $18 (24)
  974. ioVolIndex                 ds.w    1                ; offset: $1C (28)
  975. ioVCrDate                 ds.l    1                ; offset: $1E (30)
  976. ioVLsMod                 ds.l    1                ; offset: $22 (34)
  977. ioVAtrb                     ds.w    1                ; offset: $26 (38)
  978. ioVNmFls                 ds.w    1                ; offset: $28 (40)
  979. ioVBitMap                 ds.w    1                ; offset: $2A (42)
  980. ioAllocPtr                 ds.w    1                ; offset: $2C (44)
  981. ioVNmAlBlks                 ds.w    1                ; offset: $2E (46)
  982. ioVAlBlkSiz                 ds.l    1                ; offset: $30 (48)
  983. ioVClpSiz                 ds.l    1                ; offset: $34 (52)
  984. ioAlBlSt                 ds.w    1                ; offset: $38 (56)
  985. ioVNxtCNID                 ds.l    1                ; offset: $3A (58)
  986. ioVFrBlk                 ds.w    1                ; offset: $3E (62)
  987. ioVSigWord                 ds.w    1                ; offset: $40 (64)
  988. ioVDrvInfo                 ds.w    1                ; offset: $42 (66)
  989. ioVDRefNum                 ds.w    1                ; offset: $44 (68)
  990. ioVFSID                     ds.w    1                ; offset: $46 (70)
  991. ioVBkUp                     ds.l    1                ; offset: $48 (72)
  992. ioVSeqNum                 ds.w    1                ; offset: $4C (76)
  993. ioVWrCnt                 ds.l    1                ; offset: $4E (78)
  994. ioVFilCnt                 ds.l    1                ; offset: $52 (82)
  995. ioVDirCnt                 ds.l    1                ; offset: $56 (86)
  996. ioVFndrInfo                 ds.l    8                ; offset: $5A (90)
  997.                          ORG 24
  998. filler3                     ds.w    1                ; offset: $18 (24)
  999. ioDenyModes                 ds.w    1                ; offset: $1A (26)        ; access rights data
  1000. filler4                     ds.w    1                ; offset: $1C (28)
  1001. filler5                     ds.b    1                ; offset: $1E (30)
  1002. ioACUser                 ds.b    1                ; offset: $1F (31)        ; access rights for directory only
  1003. filler6                     ds.l    1                ; offset: $20 (32)
  1004. ioACOwnerID                 ds.l    1                ; offset: $24 (36)        ; owner ID
  1005. ioACGroupID                 ds.l    1                ; offset: $28 (40)        ; group ID
  1006. ioACAccess                 ds.l    1                ; offset: $2C (44)        ; access rights
  1007.                          ORG 24
  1008. filler7                     ds.w    1                ; offset: $18 (24)
  1009. ioObjType                 ds.w    1                ; offset: $1A (26)        ; function code
  1010. ioObjNamePtr             ds.l    1                ; offset: $1C (28)        ; ptr to returned creator/group name
  1011. ioObjID                     ds.l    1                ; offset: $20 (32)        ; creator/group ID
  1012.                          ORG 24
  1013. ioDstVRefNum             ds.w    1                ; offset: $18 (24)        ; destination vol identifier
  1014. filler8                     ds.w    1                ; offset: $1A (26)
  1015. ioNewName                 ds.l    1                ; offset: $1C (28)        ; ptr to destination pathname
  1016. ioCopyName                 ds.l    1                ; offset: $20 (32)        ; ptr to optional name
  1017. ioNewDirID                 ds.l    1                ; offset: $24 (36)        ; destination directory ID
  1018.                          ORG 24
  1019. filler9                     ds.w    1                ; offset: $18 (24)
  1020. ioWDIndex                 ds.w    1                ; offset: $1A (26)
  1021. ioWDProcID                 ds.l    1                ; offset: $1C (28)
  1022. ioWDVRefNum                 ds.w    1                ; offset: $20 (32)
  1023. filler10                 ds.w    1                ; offset: $22 (34)
  1024. filler11                 ds.l    1                ; offset: $24 (36)
  1025. filler12                 ds.l    1                ; offset: $28 (40)
  1026. filler13                 ds.l    1                ; offset: $2C (44)
  1027. ioWDDirID                 ds.l    1                ; offset: $30 (48)
  1028.                          ORG 24
  1029. filler14                 ds.l    1                ; offset: $18 (24)
  1030. ioDestNamePtr             ds.l    1                ; offset: $1C (28)        ;  dest file name 
  1031. filler15                 ds.l    1                ; offset: $20 (32)
  1032. ioDestDirID                 ds.l    1                ; offset: $24 (36)        ;  dest file's directory id 
  1033. filler16                 ds.l    1                ; offset: $28 (40)
  1034. filler17                 ds.l    1                ; offset: $2C (44)
  1035. ioSrcDirID                 ds.l    1                ; offset: $30 (48)        ;  source file's directory id 
  1036. filler18                 ds.w    1                ; offset: $34 (52)
  1037. ioFileID                 ds.l    1                ; offset: $36 (54)        ;  file ID 
  1038.                          ORG 24
  1039. ioMatchPtr                 ds.l    1                ; offset: $18 (24)        ;  match array 
  1040. ioReqMatchCount             ds.l    1                ; offset: $1C (28)        ;  maximum allowable matches 
  1041. ioActMatchCount             ds.l    1                ; offset: $20 (32)        ;  actual match count 
  1042. ioSearchBits             ds.l    1                ; offset: $24 (36)        ;  search criteria selector 
  1043. ioSearchInfo1             ds.l    1                ; offset: $28 (40)        ;  search values and range lower bounds 
  1044. ioSearchInfo2             ds.l    1                ; offset: $2C (44)        ;  search values and range upper bounds 
  1045. ioSearchTime             ds.l    1                ; offset: $30 (48)        ;  length of time to run search 
  1046. ioCatPosition             ds        CatPositionRec ; offset: $34 (52)        ;  current position in the catalog 
  1047. ioOptBuffer                 ds.l    1                ; offset: $44 (68)        ;  optional performance enhancement buffer 
  1048. ioOptBufSize             ds.l    1                ; offset: $48 (72)        ;  size of buffer pointed to by ioOptBuffer 
  1049.                          ORG 24
  1050. ioFiller21                 ds.l    1                ; offset: $18 (24)
  1051. ioFiller22                 ds.l    1                ; offset: $1C (28)
  1052. ioForeignPrivBuffer         ds.l    1                ; offset: $20 (32)
  1053. ioForeignPrivActCount     ds.l    1                ; offset: $24 (36)
  1054. ioForeignPrivReqCount     ds.l    1                ; offset: $28 (40)
  1055. ioFiller23                 ds.l    1                ; offset: $2C (44)
  1056. ioForeignPrivDirID         ds.l    1                ; offset: $30 (48)
  1057. ioForeignPrivInfo1         ds.l    1                ; offset: $34 (52)
  1058. ioForeignPrivInfo2         ds.l    1                ; offset: $38 (56)
  1059. ioForeignPrivInfo3         ds.l    1                ; offset: $3C (60)
  1060. ioForeignPrivInfo4         ds.l    1                ; offset: $40 (64)
  1061.                          ORG 122
  1062. sizeof                     EQU *                    ; size:   $7A (122)
  1063.                         ENDR
  1064. ; typedef union HParamBlockRec *        HParmBlkPtr
  1065.  
  1066.  
  1067. CMovePBRec                RECORD 0
  1068. qLink                     ds.l    1                ; offset: $0 (0)
  1069. qType                     ds.w    1                ; offset: $4 (4)
  1070. ioTrap                     ds.w    1                ; offset: $6 (6)
  1071. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  1072. ioCompletion             ds.l    1                ; offset: $C (12)
  1073. ioResult                 ds.w    1                ; offset: $10 (16)
  1074. ioNamePtr                 ds.l    1                ; offset: $12 (18)
  1075. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  1076. filler1                     ds.l    1                ; offset: $18 (24)
  1077. ioNewName                 ds.l    1                ; offset: $1C (28)
  1078. filler2                     ds.l    1                ; offset: $20 (32)
  1079. ioNewDirID                 ds.l    1                ; offset: $24 (36)
  1080. filler3                     ds.l    2                ; offset: $28 (40)
  1081. ioDirID                     ds.l    1                ; offset: $30 (48)
  1082. sizeof                     EQU *                    ; size:   $34 (52)
  1083.                         ENDR
  1084. ; typedef struct CMovePBRec *            CMovePBPtr
  1085.  
  1086. WDPBRec                    RECORD 0
  1087. qLink                     ds.l    1                ; offset: $0 (0)
  1088. qType                     ds.w    1                ; offset: $4 (4)
  1089. ioTrap                     ds.w    1                ; offset: $6 (6)
  1090. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  1091. ioCompletion             ds.l    1                ; offset: $C (12)
  1092. ioResult                 ds.w    1                ; offset: $10 (16)
  1093. ioNamePtr                 ds.l    1                ; offset: $12 (18)
  1094. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  1095. filler1                     ds.w    1                ; offset: $18 (24)
  1096. ioWDIndex                 ds.w    1                ; offset: $1A (26)
  1097. ioWDProcID                 ds.l    1                ; offset: $1C (28)
  1098. ioWDVRefNum                 ds.w    1                ; offset: $20 (32)
  1099. filler2                     ds.w    7                ; offset: $22 (34)
  1100. ioWDDirID                 ds.l    1                ; offset: $30 (48)
  1101. sizeof                     EQU *                    ; size:   $34 (52)
  1102.                         ENDR
  1103. ; typedef struct WDPBRec *                WDPBPtr
  1104.  
  1105. FCBPBRec                RECORD 0
  1106. qLink                     ds.l    1                ; offset: $0 (0)
  1107. qType                     ds.w    1                ; offset: $4 (4)
  1108. ioTrap                     ds.w    1                ; offset: $6 (6)
  1109. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  1110. ioCompletion             ds.l    1                ; offset: $C (12)
  1111. ioResult                 ds.w    1                ; offset: $10 (16)
  1112. ioNamePtr                 ds.l    1                ; offset: $12 (18)
  1113. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  1114. ioRefNum                 ds.w    1                ; offset: $18 (24)
  1115. filler                     ds.w    1                ; offset: $1A (26)
  1116. ioFCBIndx                 ds.w    1                ; offset: $1C (28)
  1117. filler1                     ds.w    1                ; offset: $1E (30)
  1118. ioFCBFlNm                 ds.l    1                ; offset: $20 (32)
  1119. ioFCBFlags                 ds.w    1                ; offset: $24 (36)
  1120. ioFCBStBlk                 ds.w    1                ; offset: $26 (38)
  1121. ioFCBEOF                 ds.l    1                ; offset: $28 (40)
  1122. ioFCBPLen                 ds.l    1                ; offset: $2C (44)
  1123. ioFCBCrPs                 ds.l    1                ; offset: $30 (48)
  1124. ioFCBVRefNum             ds.w    1                ; offset: $34 (52)
  1125. ioFCBClpSiz                 ds.l    1                ; offset: $36 (54)
  1126. ioFCBParID                 ds.l    1                ; offset: $3A (58)
  1127. sizeof                     EQU *                    ; size:   $3E (62)
  1128.                         ENDR
  1129. ; typedef struct FCBPBRec *                FCBPBPtr
  1130.  
  1131. VCB                        RECORD 0
  1132. qLink                     ds.l    1                ; offset: $0 (0)
  1133. qType                     ds.w    1                ; offset: $4 (4)
  1134. vcbFlags                 ds.w    1                ; offset: $6 (6)
  1135. vcbSigWord                 ds.w    1                ; offset: $8 (8)
  1136. vcbCrDate                 ds.l    1                ; offset: $A (10)
  1137. vcbLsMod                 ds.l    1                ; offset: $E (14)
  1138. vcbAtrb                     ds.w    1                ; offset: $12 (18)
  1139. vcbNmFls                 ds.w    1                ; offset: $14 (20)
  1140. vcbVBMSt                 ds.w    1                ; offset: $16 (22)
  1141. vcbAllocPtr                 ds.w    1                ; offset: $18 (24)
  1142. vcbNmAlBlks                 ds.w    1                ; offset: $1A (26)
  1143. vcbAlBlkSiz                 ds.l    1                ; offset: $1C (28)
  1144. vcbClpSiz                 ds.l    1                ; offset: $20 (32)
  1145. vcbAlBlSt                 ds.w    1                ; offset: $24 (36)
  1146. vcbNxtCNID                 ds.l    1                ; offset: $26 (38)
  1147. vcbFreeBks                 ds.w    1                ; offset: $2A (42)
  1148. vcbVN                     ds        Str27            ; offset: $2C (44)
  1149. vcbDrvNum                 ds.w    1                ; offset: $48 (72)
  1150. vcbDRefNum                 ds.w    1                ; offset: $4A (74)
  1151. vcbFSID                     ds.w    1                ; offset: $4C (76)
  1152. vcbVRefNum                 ds.w    1                ; offset: $4E (78)
  1153. vcbMAdr                     ds.l    1                ; offset: $50 (80)
  1154. vcbBufAdr                 ds.l    1                ; offset: $54 (84)
  1155. vcbMLen                     ds.w    1                ; offset: $58 (88)
  1156. vcbDirIndex                 ds.w    1                ; offset: $5A (90)
  1157. vcbDirBlk                 ds.w    1                ; offset: $5C (92)
  1158. vcbVolBkUp                 ds.l    1                ; offset: $5E (94)
  1159. vcbVSeqNum                 ds.w    1                ; offset: $62 (98)
  1160. vcbWrCnt                 ds.l    1                ; offset: $64 (100)
  1161. vcbXTClpSiz                 ds.l    1                ; offset: $68 (104)
  1162. vcbCTClpSiz                 ds.l    1                ; offset: $6C (108)
  1163. vcbNmRtDirs                 ds.w    1                ; offset: $70 (112)
  1164. vcbFilCnt                 ds.l    1                ; offset: $72 (114)
  1165. vcbDirCnt                 ds.l    1                ; offset: $76 (118)
  1166. vcbFndrInfo                 ds.l    8                ; offset: $7A (122)
  1167. vcbVCSize                 ds.w    1                ; offset: $9A (154)
  1168. vcbVBMCSiz                 ds.w    1                ; offset: $9C (156)
  1169. vcbCtlCSiz                 ds.w    1                ; offset: $9E (158)
  1170. vcbXTAlBlks                 ds.w    1                ; offset: $A0 (160)
  1171. vcbCTAlBlks                 ds.w    1                ; offset: $A2 (162)
  1172. vcbXTRef                 ds.w    1                ; offset: $A4 (164)
  1173. vcbCTRef                 ds.w    1                ; offset: $A6 (166)
  1174. vcbCtlBuf                 ds.l    1                ; offset: $A8 (168)
  1175. vcbDirIDM                 ds.l    1                ; offset: $AC (172)
  1176. vcbOffsM                 ds.w    1                ; offset: $B0 (176)
  1177. sizeof                     EQU *                    ; size:   $B2 (178)
  1178.                         ENDR
  1179. ; typedef struct VCB *                    VCBPtr
  1180.  
  1181. DrvQEl                    RECORD 0
  1182. qLink                     ds.l    1                ; offset: $0 (0)
  1183. qType                     ds.w    1                ; offset: $4 (4)
  1184. dQDrive                     ds.w    1                ; offset: $6 (6)
  1185. dQRefNum                 ds.w    1                ; offset: $8 (8)
  1186. dQFSID                     ds.w    1                ; offset: $A (10)
  1187. dQDrvSz                     ds.w    1                ; offset: $C (12)
  1188. dQDrvSz2                 ds.w    1                ; offset: $E (14)
  1189. sizeof                     EQU *                    ; size:   $10 (16)
  1190.                         ENDR
  1191. ; typedef struct DrvQEl *                DrvQElPtr
  1192.  
  1193.     IF OLDROUTINELOCATIONS THEN
  1194. ;
  1195. ; pascal OSErr PBOpenSync(ParmBlkPtr paramBlock)
  1196. ;
  1197.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1198.         ; parameters:
  1199.         ;    paramBlock      => A0
  1200.         ; returns:
  1201.         ;    OSErr           <= D0
  1202.         _PBOpenSync:    OPWORD    $A000
  1203.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1204.         IMPORT_CFM_FUNCTION PBOpenSync
  1205.     ENDIF
  1206.  
  1207. ;
  1208. ; pascal OSErr PBOpenAsync(ParmBlkPtr paramBlock)
  1209. ;
  1210.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1211.         ; parameters:
  1212.         ;    paramBlock      => A0
  1213.         ; returns:
  1214.         ;    OSErr           <= D0
  1215.         _PBOpenAsync:    OPWORD    $A400
  1216.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1217.         IMPORT_CFM_FUNCTION PBOpenAsync
  1218.     ENDIF
  1219.  
  1220. ;
  1221. ; pascal OSErr PBOpenImmed(ParmBlkPtr paramBlock)
  1222. ;
  1223.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1224.         ; parameters:
  1225.         ;    paramBlock      => A0
  1226.         ; returns:
  1227.         ;    OSErr           <= D0
  1228.         _PBOpenImmed:    OPWORD    $A200
  1229.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1230.         IMPORT_CFM_FUNCTION PBOpenImmed
  1231.     ENDIF
  1232.  
  1233. ;
  1234. ; pascal OSErr PBCloseSync(ParmBlkPtr paramBlock)
  1235. ;
  1236.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1237.         ; parameters:
  1238.         ;    paramBlock      => A0
  1239.         ; returns:
  1240.         ;    OSErr           <= D0
  1241.         _PBCloseSync:    OPWORD    $A001
  1242.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1243.         IMPORT_CFM_FUNCTION PBCloseSync
  1244.     ENDIF
  1245.  
  1246. ;
  1247. ; pascal OSErr PBCloseAsync(ParmBlkPtr paramBlock)
  1248. ;
  1249.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1250.         ; parameters:
  1251.         ;    paramBlock      => A0
  1252.         ; returns:
  1253.         ;    OSErr           <= D0
  1254.         _PBCloseAsync:    OPWORD    $A401
  1255.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1256.         IMPORT_CFM_FUNCTION PBCloseAsync
  1257.     ENDIF
  1258.  
  1259. ;
  1260. ; pascal OSErr PBCloseImmed(ParmBlkPtr paramBlock)
  1261. ;
  1262.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1263.         ; parameters:
  1264.         ;    paramBlock      => A0
  1265.         ; returns:
  1266.         ;    OSErr           <= D0
  1267.         _PBCloseImmed:    OPWORD    $A201
  1268.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1269.         IMPORT_CFM_FUNCTION PBCloseImmed
  1270.     ENDIF
  1271.  
  1272. ;
  1273. ; pascal OSErr PBReadSync(ParmBlkPtr paramBlock)
  1274. ;
  1275.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1276.         ; parameters:
  1277.         ;    paramBlock      => A0
  1278.         ; returns:
  1279.         ;    OSErr           <= D0
  1280.         _PBReadSync:    OPWORD    $A002
  1281.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1282.         IMPORT_CFM_FUNCTION PBReadSync
  1283.     ENDIF
  1284.  
  1285. ;
  1286. ; pascal OSErr PBReadAsync(ParmBlkPtr paramBlock)
  1287. ;
  1288.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1289.         ; parameters:
  1290.         ;    paramBlock      => A0
  1291.         ; returns:
  1292.         ;    OSErr           <= D0
  1293.         _PBReadAsync:    OPWORD    $A402
  1294.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1295.         IMPORT_CFM_FUNCTION PBReadAsync
  1296.     ENDIF
  1297.  
  1298. ;
  1299. ; pascal OSErr PBReadImmed(ParmBlkPtr paramBlock)
  1300. ;
  1301.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1302.         ; parameters:
  1303.         ;    paramBlock      => A0
  1304.         ; returns:
  1305.         ;    OSErr           <= D0
  1306.         _PBReadImmed:    OPWORD    $A202
  1307.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1308.         IMPORT_CFM_FUNCTION PBReadImmed
  1309.     ENDIF
  1310.  
  1311. ;
  1312. ; pascal OSErr PBWriteSync(ParmBlkPtr paramBlock)
  1313. ;
  1314.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1315.         ; parameters:
  1316.         ;    paramBlock      => A0
  1317.         ; returns:
  1318.         ;    OSErr           <= D0
  1319.         _PBWriteSync:    OPWORD    $A003
  1320.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1321.         IMPORT_CFM_FUNCTION PBWriteSync
  1322.     ENDIF
  1323.  
  1324. ;
  1325. ; pascal OSErr PBWriteAsync(ParmBlkPtr paramBlock)
  1326. ;
  1327.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1328.         ; parameters:
  1329.         ;    paramBlock      => A0
  1330.         ; returns:
  1331.         ;    OSErr           <= D0
  1332.         _PBWriteAsync:    OPWORD    $A403
  1333.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1334.         IMPORT_CFM_FUNCTION PBWriteAsync
  1335.     ENDIF
  1336.  
  1337. ;
  1338. ; pascal OSErr PBWriteImmed(ParmBlkPtr paramBlock)
  1339. ;
  1340.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1341.         ; parameters:
  1342.         ;    paramBlock      => A0
  1343.         ; returns:
  1344.         ;    OSErr           <= D0
  1345.         _PBWriteImmed:    OPWORD    $A203
  1346.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1347.         IMPORT_CFM_FUNCTION PBWriteImmed
  1348.     ENDIF
  1349.  
  1350.     ENDIF    ; OLDROUTINELOCATIONS
  1351. ;
  1352. ; pascal OSErr PBGetVInfoSync(ParmBlkPtr paramBlock)
  1353. ;
  1354.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1355.         ; parameters:
  1356.         ;    paramBlock      => A0
  1357.         ; returns:
  1358.         ;    OSErr           <= D0
  1359.         _PBGetVInfoSync:    OPWORD    $A007
  1360.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1361.         IMPORT_CFM_FUNCTION PBGetVInfoSync
  1362.     ENDIF
  1363.  
  1364. ;
  1365. ; pascal OSErr PBGetVInfoAsync(ParmBlkPtr paramBlock)
  1366. ;
  1367.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1368.         ; parameters:
  1369.         ;    paramBlock      => A0
  1370.         ; returns:
  1371.         ;    OSErr           <= D0
  1372.         _PBGetVInfoAsync:    OPWORD    $A407
  1373.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1374.         IMPORT_CFM_FUNCTION PBGetVInfoAsync
  1375.     ENDIF
  1376.  
  1377. ;
  1378. ; pascal OSErr PBXGetVolInfoSync(XVolumeParamPtr paramBlock)
  1379. ;
  1380.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1381.         ; parameters:
  1382.         ;    paramBlock      => A0
  1383.         ; returns:
  1384.         ;    OSErr           <= D0
  1385.         Macro
  1386.         _PBXGetVolInfoSync
  1387.             moveq               #18,D0
  1388.             dc.w                $A060
  1389.         EndM
  1390.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1391.         IMPORT_CFM_FUNCTION PBXGetVolInfoSync
  1392.     ENDIF
  1393.  
  1394. ;
  1395. ; pascal OSErr PBXGetVolInfoAsync(XVolumeParamPtr paramBlock)
  1396. ;
  1397.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1398.         ; parameters:
  1399.         ;    paramBlock      => A0
  1400.         ; returns:
  1401.         ;    OSErr           <= D0
  1402.         Macro
  1403.         _PBXGetVolInfoAsync
  1404.             moveq               #18,D0
  1405.             dc.w                $A460
  1406.         EndM
  1407.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1408.         IMPORT_CFM_FUNCTION PBXGetVolInfoAsync
  1409.     ENDIF
  1410.  
  1411. ;
  1412. ; pascal OSErr PBGetVolSync(ParmBlkPtr paramBlock)
  1413. ;
  1414.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1415.         ; parameters:
  1416.         ;    paramBlock      => A0
  1417.         ; returns:
  1418.         ;    OSErr           <= D0
  1419.         _PBGetVolSync:    OPWORD    $A014
  1420.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1421.         IMPORT_CFM_FUNCTION PBGetVolSync
  1422.     ENDIF
  1423.  
  1424. ;
  1425. ; pascal OSErr PBGetVolAsync(ParmBlkPtr paramBlock)
  1426. ;
  1427.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1428.         ; parameters:
  1429.         ;    paramBlock      => A0
  1430.         ; returns:
  1431.         ;    OSErr           <= D0
  1432.         _PBGetVolAsync:    OPWORD    $A414
  1433.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1434.         IMPORT_CFM_FUNCTION PBGetVolAsync
  1435.     ENDIF
  1436.  
  1437. ;
  1438. ; pascal OSErr PBSetVolSync(ParmBlkPtr paramBlock)
  1439. ;
  1440.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1441.         ; parameters:
  1442.         ;    paramBlock      => A0
  1443.         ; returns:
  1444.         ;    OSErr           <= D0
  1445.         _PBSetVolSync:    OPWORD    $A015
  1446.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1447.         IMPORT_CFM_FUNCTION PBSetVolSync
  1448.     ENDIF
  1449.  
  1450. ;
  1451. ; pascal OSErr PBSetVolAsync(ParmBlkPtr paramBlock)
  1452. ;
  1453.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1454.         ; parameters:
  1455.         ;    paramBlock      => A0
  1456.         ; returns:
  1457.         ;    OSErr           <= D0
  1458.         _PBSetVolAsync:    OPWORD    $A415
  1459.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1460.         IMPORT_CFM_FUNCTION PBSetVolAsync
  1461.     ENDIF
  1462.  
  1463. ;
  1464. ; pascal OSErr PBFlushVolSync(ParmBlkPtr paramBlock)
  1465. ;
  1466.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1467.         ; parameters:
  1468.         ;    paramBlock      => A0
  1469.         ; returns:
  1470.         ;    OSErr           <= D0
  1471.         _PBFlushVolSync:    OPWORD    $A013
  1472.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1473.         IMPORT_CFM_FUNCTION PBFlushVolSync
  1474.     ENDIF
  1475.  
  1476. ;
  1477. ; pascal OSErr PBFlushVolAsync(ParmBlkPtr paramBlock)
  1478. ;
  1479.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1480.         ; parameters:
  1481.         ;    paramBlock      => A0
  1482.         ; returns:
  1483.         ;    OSErr           <= D0
  1484.         _PBFlushVolAsync:    OPWORD    $A413
  1485.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1486.         IMPORT_CFM_FUNCTION PBFlushVolAsync
  1487.     ENDIF
  1488.  
  1489.  
  1490. ;
  1491. ; pascal OSErr PBCreateSync(ParmBlkPtr paramBlock)
  1492. ;
  1493.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1494.         ; parameters:
  1495.         ;    paramBlock      => A0
  1496.         ; returns:
  1497.         ;    OSErr           <= D0
  1498.         _PBCreateSync:    OPWORD    $A008
  1499.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1500.         IMPORT_CFM_FUNCTION PBCreateSync
  1501.     ENDIF
  1502.  
  1503. ;
  1504. ; pascal OSErr PBCreateAsync(ParmBlkPtr paramBlock)
  1505. ;
  1506.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1507.         ; parameters:
  1508.         ;    paramBlock      => A0
  1509.         ; returns:
  1510.         ;    OSErr           <= D0
  1511.         _PBCreateAsync:    OPWORD    $A408
  1512.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1513.         IMPORT_CFM_FUNCTION PBCreateAsync
  1514.     ENDIF
  1515.  
  1516. ;
  1517. ; pascal OSErr PBDeleteSync(ParmBlkPtr paramBlock)
  1518. ;
  1519.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1520.         ; parameters:
  1521.         ;    paramBlock      => A0
  1522.         ; returns:
  1523.         ;    OSErr           <= D0
  1524.         _PBDeleteSync:    OPWORD    $A009
  1525.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1526.         IMPORT_CFM_FUNCTION PBDeleteSync
  1527.     ENDIF
  1528.  
  1529. ;
  1530. ; pascal OSErr PBDeleteAsync(ParmBlkPtr paramBlock)
  1531. ;
  1532.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1533.         ; parameters:
  1534.         ;    paramBlock      => A0
  1535.         ; returns:
  1536.         ;    OSErr           <= D0
  1537.         _PBDeleteAsync:    OPWORD    $A409
  1538.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1539.         IMPORT_CFM_FUNCTION PBDeleteAsync
  1540.     ENDIF
  1541.  
  1542. ;
  1543. ; pascal OSErr PBOpenDFSync(ParmBlkPtr paramBlock)
  1544. ;
  1545.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1546.         ; parameters:
  1547.         ;    paramBlock      => A0
  1548.         ; returns:
  1549.         ;    OSErr           <= D0
  1550.         Macro
  1551.         _PBOpenDFSync
  1552.             moveq               #26,D0
  1553.             dc.w                $A060
  1554.         EndM
  1555.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1556.         IMPORT_CFM_FUNCTION PBOpenDFSync
  1557.     ENDIF
  1558.  
  1559. ;
  1560. ; pascal OSErr PBOpenDFAsync(ParmBlkPtr paramBlock)
  1561. ;
  1562.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1563.         ; parameters:
  1564.         ;    paramBlock      => A0
  1565.         ; returns:
  1566.         ;    OSErr           <= D0
  1567.         Macro
  1568.         _PBOpenDFAsync
  1569.             moveq               #26,D0
  1570.             dc.w                $A460
  1571.         EndM
  1572.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1573.         IMPORT_CFM_FUNCTION PBOpenDFAsync
  1574.     ENDIF
  1575.  
  1576. ;
  1577. ; pascal OSErr PBOpenRFSync(ParmBlkPtr paramBlock)
  1578. ;
  1579.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1580.         ; parameters:
  1581.         ;    paramBlock      => A0
  1582.         ; returns:
  1583.         ;    OSErr           <= D0
  1584.         _PBOpenRFSync:    OPWORD    $A00A
  1585.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1586.         IMPORT_CFM_FUNCTION PBOpenRFSync
  1587.     ENDIF
  1588.  
  1589. ;
  1590. ; pascal OSErr PBOpenRFAsync(ParmBlkPtr paramBlock)
  1591. ;
  1592.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1593.         ; parameters:
  1594.         ;    paramBlock      => A0
  1595.         ; returns:
  1596.         ;    OSErr           <= D0
  1597.         _PBOpenRFAsync:    OPWORD    $A40A
  1598.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1599.         IMPORT_CFM_FUNCTION PBOpenRFAsync
  1600.     ENDIF
  1601.  
  1602. ;
  1603. ; pascal OSErr PBRenameSync(ParmBlkPtr paramBlock)
  1604. ;
  1605.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1606.         ; parameters:
  1607.         ;    paramBlock      => A0
  1608.         ; returns:
  1609.         ;    OSErr           <= D0
  1610.         _PBRenameSync:    OPWORD    $A00B
  1611.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1612.         IMPORT_CFM_FUNCTION PBRenameSync
  1613.     ENDIF
  1614.  
  1615. ;
  1616. ; pascal OSErr PBRenameAsync(ParmBlkPtr paramBlock)
  1617. ;
  1618.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1619.         ; parameters:
  1620.         ;    paramBlock      => A0
  1621.         ; returns:
  1622.         ;    OSErr           <= D0
  1623.         _PBRenameAsync:    OPWORD    $A40B
  1624.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1625.         IMPORT_CFM_FUNCTION PBRenameAsync
  1626.     ENDIF
  1627.  
  1628. ;
  1629. ; pascal OSErr PBGetFInfoSync(ParmBlkPtr paramBlock)
  1630. ;
  1631.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1632.         ; parameters:
  1633.         ;    paramBlock      => A0
  1634.         ; returns:
  1635.         ;    OSErr           <= D0
  1636.         _PBGetFInfoSync:    OPWORD    $A00C
  1637.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1638.         IMPORT_CFM_FUNCTION PBGetFInfoSync
  1639.     ENDIF
  1640.  
  1641. ;
  1642. ; pascal OSErr PBGetFInfoAsync(ParmBlkPtr paramBlock)
  1643. ;
  1644.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1645.         ; parameters:
  1646.         ;    paramBlock      => A0
  1647.         ; returns:
  1648.         ;    OSErr           <= D0
  1649.         _PBGetFInfoAsync:    OPWORD    $A40C
  1650.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1651.         IMPORT_CFM_FUNCTION PBGetFInfoAsync
  1652.     ENDIF
  1653.  
  1654. ;
  1655. ; pascal OSErr PBSetFInfoSync(ParmBlkPtr paramBlock)
  1656. ;
  1657.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1658.         ; parameters:
  1659.         ;    paramBlock      => A0
  1660.         ; returns:
  1661.         ;    OSErr           <= D0
  1662.         _PBSetFInfoSync:    OPWORD    $A00D
  1663.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1664.         IMPORT_CFM_FUNCTION PBSetFInfoSync
  1665.     ENDIF
  1666.  
  1667. ;
  1668. ; pascal OSErr PBSetFInfoAsync(ParmBlkPtr paramBlock)
  1669. ;
  1670.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1671.         ; parameters:
  1672.         ;    paramBlock      => A0
  1673.         ; returns:
  1674.         ;    OSErr           <= D0
  1675.         _PBSetFInfoAsync:    OPWORD    $A40D
  1676.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1677.         IMPORT_CFM_FUNCTION PBSetFInfoAsync
  1678.     ENDIF
  1679.  
  1680. ;
  1681. ; pascal OSErr PBSetFLockSync(ParmBlkPtr paramBlock)
  1682. ;
  1683.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1684.         ; parameters:
  1685.         ;    paramBlock      => A0
  1686.         ; returns:
  1687.         ;    OSErr           <= D0
  1688.         _PBSetFLockSync:    OPWORD    $A041
  1689.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1690.         IMPORT_CFM_FUNCTION PBSetFLockSync
  1691.     ENDIF
  1692.  
  1693. ;
  1694. ; pascal OSErr PBSetFLockAsync(ParmBlkPtr paramBlock)
  1695. ;
  1696.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1697.         ; parameters:
  1698.         ;    paramBlock      => A0
  1699.         ; returns:
  1700.         ;    OSErr           <= D0
  1701.         _PBSetFLockAsync:    OPWORD    $A441
  1702.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1703.         IMPORT_CFM_FUNCTION PBSetFLockAsync
  1704.     ENDIF
  1705.  
  1706. ;
  1707. ; pascal OSErr PBRstFLockSync(ParmBlkPtr paramBlock)
  1708. ;
  1709.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1710.         ; parameters:
  1711.         ;    paramBlock      => A0
  1712.         ; returns:
  1713.         ;    OSErr           <= D0
  1714.         _PBRstFLockSync:    OPWORD    $A042
  1715.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1716.         IMPORT_CFM_FUNCTION PBRstFLockSync
  1717.     ENDIF
  1718.  
  1719. ;
  1720. ; pascal OSErr PBRstFLockAsync(ParmBlkPtr paramBlock)
  1721. ;
  1722.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1723.         ; parameters:
  1724.         ;    paramBlock      => A0
  1725.         ; returns:
  1726.         ;    OSErr           <= D0
  1727.         _PBRstFLockAsync:    OPWORD    $A442
  1728.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1729.         IMPORT_CFM_FUNCTION PBRstFLockAsync
  1730.     ENDIF
  1731.  
  1732. ;
  1733. ; pascal OSErr PBSetFVersSync(ParmBlkPtr paramBlock)
  1734. ;
  1735.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1736.         ; parameters:
  1737.         ;    paramBlock      => A0
  1738.         ; returns:
  1739.         ;    OSErr           <= D0
  1740.         _PBSetFVersSync:    OPWORD    $A043
  1741.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1742.         IMPORT_CFM_FUNCTION PBSetFVersSync
  1743.     ENDIF
  1744.  
  1745. ;
  1746. ; pascal OSErr PBSetFVersAsync(ParmBlkPtr paramBlock)
  1747. ;
  1748.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1749.         ; parameters:
  1750.         ;    paramBlock      => A0
  1751.         ; returns:
  1752.         ;    OSErr           <= D0
  1753.         _PBSetFVersAsync:    OPWORD    $A443
  1754.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1755.         IMPORT_CFM_FUNCTION PBSetFVersAsync
  1756.     ENDIF
  1757.  
  1758. ;
  1759. ; pascal OSErr PBAllocateSync(ParmBlkPtr paramBlock)
  1760. ;
  1761.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1762.         ; parameters:
  1763.         ;    paramBlock      => A0
  1764.         ; returns:
  1765.         ;    OSErr           <= D0
  1766.         _PBAllocateSync:    OPWORD    $A010
  1767.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1768.         IMPORT_CFM_FUNCTION PBAllocateSync
  1769.     ENDIF
  1770.  
  1771. ;
  1772. ; pascal OSErr PBAllocateAsync(ParmBlkPtr paramBlock)
  1773. ;
  1774.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1775.         ; parameters:
  1776.         ;    paramBlock      => A0
  1777.         ; returns:
  1778.         ;    OSErr           <= D0
  1779.         _PBAllocateAsync:    OPWORD    $A410
  1780.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1781.         IMPORT_CFM_FUNCTION PBAllocateAsync
  1782.     ENDIF
  1783.  
  1784. ;
  1785. ; pascal OSErr PBGetEOFSync(ParmBlkPtr paramBlock)
  1786. ;
  1787.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1788.         ; parameters:
  1789.         ;    paramBlock      => A0
  1790.         ; returns:
  1791.         ;    OSErr           <= D0
  1792.         _PBGetEOFSync:    OPWORD    $A011
  1793.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1794.         IMPORT_CFM_FUNCTION PBGetEOFSync
  1795.     ENDIF
  1796.  
  1797. ;
  1798. ; pascal OSErr PBGetEOFAsync(ParmBlkPtr paramBlock)
  1799. ;
  1800.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1801.         ; parameters:
  1802.         ;    paramBlock      => A0
  1803.         ; returns:
  1804.         ;    OSErr           <= D0
  1805.         _PBGetEOFAsync:    OPWORD    $A411
  1806.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1807.         IMPORT_CFM_FUNCTION PBGetEOFAsync
  1808.     ENDIF
  1809.  
  1810. ;
  1811. ; pascal OSErr PBSetEOFSync(ParmBlkPtr paramBlock)
  1812. ;
  1813.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1814.         ; parameters:
  1815.         ;    paramBlock      => A0
  1816.         ; returns:
  1817.         ;    OSErr           <= D0
  1818.         _PBSetEOFSync:    OPWORD    $A012
  1819.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1820.         IMPORT_CFM_FUNCTION PBSetEOFSync
  1821.     ENDIF
  1822.  
  1823. ;
  1824. ; pascal OSErr PBSetEOFAsync(ParmBlkPtr paramBlock)
  1825. ;
  1826.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1827.         ; parameters:
  1828.         ;    paramBlock      => A0
  1829.         ; returns:
  1830.         ;    OSErr           <= D0
  1831.         _PBSetEOFAsync:    OPWORD    $A412
  1832.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1833.         IMPORT_CFM_FUNCTION PBSetEOFAsync
  1834.     ENDIF
  1835.  
  1836. ;
  1837. ; pascal OSErr PBGetFPosSync(ParmBlkPtr paramBlock)
  1838. ;
  1839.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1840.         ; parameters:
  1841.         ;    paramBlock      => A0
  1842.         ; returns:
  1843.         ;    OSErr           <= D0
  1844.         _PBGetFPosSync:    OPWORD    $A018
  1845.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1846.         IMPORT_CFM_FUNCTION PBGetFPosSync
  1847.     ENDIF
  1848.  
  1849. ;
  1850. ; pascal OSErr PBGetFPosAsync(ParmBlkPtr paramBlock)
  1851. ;
  1852.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1853.         ; parameters:
  1854.         ;    paramBlock      => A0
  1855.         ; returns:
  1856.         ;    OSErr           <= D0
  1857.         _PBGetFPosAsync:    OPWORD    $A418
  1858.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1859.         IMPORT_CFM_FUNCTION PBGetFPosAsync
  1860.     ENDIF
  1861.  
  1862. ;
  1863. ; pascal OSErr PBSetFPosSync(ParmBlkPtr paramBlock)
  1864. ;
  1865.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1866.         ; parameters:
  1867.         ;    paramBlock      => A0
  1868.         ; returns:
  1869.         ;    OSErr           <= D0
  1870.         _PBSetFPosSync:    OPWORD    $A044
  1871.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1872.         IMPORT_CFM_FUNCTION PBSetFPosSync
  1873.     ENDIF
  1874.  
  1875. ;
  1876. ; pascal OSErr PBSetFPosAsync(ParmBlkPtr paramBlock)
  1877. ;
  1878.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1879.         ; parameters:
  1880.         ;    paramBlock      => A0
  1881.         ; returns:
  1882.         ;    OSErr           <= D0
  1883.         _PBSetFPosAsync:    OPWORD    $A444
  1884.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1885.         IMPORT_CFM_FUNCTION PBSetFPosAsync
  1886.     ENDIF
  1887.  
  1888. ;
  1889. ; pascal OSErr PBFlushFileSync(ParmBlkPtr paramBlock)
  1890. ;
  1891.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1892.         ; parameters:
  1893.         ;    paramBlock      => A0
  1894.         ; returns:
  1895.         ;    OSErr           <= D0
  1896.         _PBFlushFileSync:    OPWORD    $A045
  1897.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1898.         IMPORT_CFM_FUNCTION PBFlushFileSync
  1899.     ENDIF
  1900.  
  1901. ;
  1902. ; pascal OSErr PBFlushFileAsync(ParmBlkPtr paramBlock)
  1903. ;
  1904.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1905.         ; parameters:
  1906.         ;    paramBlock      => A0
  1907.         ; returns:
  1908.         ;    OSErr           <= D0
  1909.         _PBFlushFileAsync:    OPWORD    $A445
  1910.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1911.         IMPORT_CFM_FUNCTION PBFlushFileAsync
  1912.     ENDIF
  1913.  
  1914. ;
  1915. ; pascal OSErr PBMountVol(ParmBlkPtr paramBlock)
  1916. ;
  1917.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1918.         ; parameters:
  1919.         ;    paramBlock      => A0
  1920.         ; returns:
  1921.         ;    OSErr           <= D0
  1922.         _PBMountVol:    OPWORD    $A00F
  1923.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1924.         IMPORT_CFM_FUNCTION PBMountVol
  1925.     ENDIF
  1926.  
  1927. ;
  1928. ; pascal OSErr PBUnmountVol(ParmBlkPtr paramBlock)
  1929. ;
  1930.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1931.         ; parameters:
  1932.         ;    paramBlock      => A0
  1933.         ; returns:
  1934.         ;    OSErr           <= D0
  1935.         _PBUnmountVol:    OPWORD    $A00E
  1936.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1937.         IMPORT_CFM_FUNCTION PBUnmountVol
  1938.     ENDIF
  1939.  
  1940. ;
  1941. ; pascal OSErr PBUnmountVolImmed(ParmBlkPtr paramBlock)
  1942. ;
  1943.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1944.         ; parameters:
  1945.         ;    paramBlock      => A0
  1946.         ; returns:
  1947.         ;    OSErr           <= D0
  1948.         _PBUnmountVolImmed:    OPWORD    $A20E
  1949.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1950.         IMPORT_CFM_FUNCTION PBUnmountVolImmed
  1951.     ENDIF
  1952.  
  1953. ;
  1954. ; pascal OSErr PBEject(ParmBlkPtr paramBlock)
  1955. ;
  1956.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1957.         ; parameters:
  1958.         ;    paramBlock      => A0
  1959.         ; returns:
  1960.         ;    OSErr           <= D0
  1961.         _PBEject:    OPWORD    $A017
  1962.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1963.         IMPORT_CFM_FUNCTION PBEject
  1964.     ENDIF
  1965.  
  1966. ;
  1967. ; pascal OSErr PBOffLine(ParmBlkPtr paramBlock)
  1968. ;
  1969.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1970.         ; parameters:
  1971.         ;    paramBlock      => A0
  1972.         ; returns:
  1973.         ;    OSErr           <= D0
  1974.         _PBOffLine:    OPWORD    $A035
  1975.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1976.         IMPORT_CFM_FUNCTION PBOffLine
  1977.     ENDIF
  1978.  
  1979. ;
  1980. ; pascal OSErr PBCatSearchSync(CSParamPtr paramBlock)
  1981. ;
  1982.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1983.         ; parameters:
  1984.         ;    paramBlock      => A0
  1985.         ; returns:
  1986.         ;    OSErr           <= D0
  1987.         Macro
  1988.         _PBCatSearchSync
  1989.             moveq               #24,D0
  1990.             dc.w                $A260
  1991.         EndM
  1992.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1993.         IMPORT_CFM_FUNCTION PBCatSearchSync
  1994.     ENDIF
  1995.  
  1996. ;
  1997. ; pascal OSErr PBCatSearchAsync(CSParamPtr paramBlock)
  1998. ;
  1999.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2000.         ; parameters:
  2001.         ;    paramBlock      => A0
  2002.         ; returns:
  2003.         ;    OSErr           <= D0
  2004.         Macro
  2005.         _PBCatSearchAsync
  2006.             moveq               #24,D0
  2007.             dc.w                $A660
  2008.         EndM
  2009.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2010.         IMPORT_CFM_FUNCTION PBCatSearchAsync
  2011.     ENDIF
  2012.  
  2013. ;
  2014. ; pascal OSErr SetVol(ConstStr63Param volName, short vRefNum)
  2015. ;
  2016.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2017.         IMPORT_CFM_FUNCTION SetVol
  2018.     ENDIF
  2019.  
  2020. ;
  2021. ; pascal OSErr UnmountVol(ConstStr63Param volName, short vRefNum)
  2022. ;
  2023.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2024.         IMPORT_CFM_FUNCTION UnmountVol
  2025.     ENDIF
  2026.  
  2027. ;
  2028. ; pascal OSErr Eject(ConstStr63Param volName, short vRefNum)
  2029. ;
  2030.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2031.         IMPORT_CFM_FUNCTION Eject
  2032.     ENDIF
  2033.  
  2034. ;
  2035. ; pascal OSErr FlushVol(ConstStr63Param volName, short vRefNum)
  2036. ;
  2037.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2038.         IMPORT_CFM_FUNCTION FlushVol
  2039.     ENDIF
  2040.  
  2041. ;
  2042. ; pascal OSErr HSetVol(ConstStr63Param volName, short vRefNum, long dirID)
  2043. ;
  2044.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2045.         IMPORT_CFM_FUNCTION HSetVol
  2046.     ENDIF
  2047.  
  2048.     IF OLDROUTINELOCATIONS THEN
  2049. ;
  2050. ; pascal void AddDrive(short drvrRefNum, short drvNum, DrvQElPtr qEl)
  2051. ;
  2052.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2053.         IMPORT_CFM_FUNCTION AddDrive
  2054.     ENDIF
  2055.  
  2056.     ENDIF    ; OLDROUTINELOCATIONS
  2057. ;
  2058. ; pascal OSErr FSOpen(ConstStr255Param fileName, short vRefNum, short *refNum)
  2059. ;
  2060.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2061.         IMPORT_CFM_FUNCTION FSOpen
  2062.     ENDIF
  2063.  
  2064. ;
  2065. ; pascal OSErr OpenDF(ConstStr255Param fileName, short vRefNum, short *refNum)
  2066. ;
  2067.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2068.         IMPORT_CFM_FUNCTION OpenDF
  2069.     ENDIF
  2070.  
  2071. ;
  2072. ; pascal OSErr FSClose(short refNum)
  2073. ;
  2074.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2075.         IMPORT_CFM_FUNCTION FSClose
  2076.     ENDIF
  2077.  
  2078. ;
  2079. ; pascal OSErr FSRead(short refNum, long *count, void *buffPtr)
  2080. ;
  2081.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2082.         IMPORT_CFM_FUNCTION FSRead
  2083.     ENDIF
  2084.  
  2085. ;
  2086. ; pascal OSErr FSWrite(short refNum, long *count, const void *buffPtr)
  2087. ;
  2088.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2089.         IMPORT_CFM_FUNCTION FSWrite
  2090.     ENDIF
  2091.  
  2092. ;
  2093. ; pascal OSErr GetVInfo(short drvNum, StringPtr volName, short *vRefNum, long *freeBytes)
  2094. ;
  2095.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2096.         IMPORT_CFM_FUNCTION GetVInfo
  2097.     ENDIF
  2098.  
  2099. ;
  2100. ; pascal OSErr GetFInfo(ConstStr255Param fileName, short vRefNum, FInfo *fndrInfo)
  2101. ;
  2102.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2103.         IMPORT_CFM_FUNCTION GetFInfo
  2104.     ENDIF
  2105.  
  2106. ;
  2107. ; pascal OSErr GetVol(StringPtr volName, short *vRefNum)
  2108. ;
  2109.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2110.         IMPORT_CFM_FUNCTION GetVol
  2111.     ENDIF
  2112.  
  2113. ;
  2114. ; pascal OSErr Create(ConstStr255Param fileName, short vRefNum, OSType creator, OSType fileType)
  2115. ;
  2116.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2117.         IMPORT_CFM_FUNCTION Create
  2118.     ENDIF
  2119.  
  2120. ;
  2121. ; pascal OSErr FSDelete(ConstStr255Param fileName, short vRefNum)
  2122. ;
  2123.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2124.         IMPORT_CFM_FUNCTION FSDelete
  2125.     ENDIF
  2126.  
  2127. ;
  2128. ; pascal OSErr OpenRF(ConstStr255Param fileName, short vRefNum, short *refNum)
  2129. ;
  2130.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2131.         IMPORT_CFM_FUNCTION OpenRF
  2132.     ENDIF
  2133.  
  2134. ;
  2135. ; pascal OSErr Rename(ConstStr255Param oldName, short vRefNum, ConstStr255Param newName)
  2136. ;
  2137.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2138.         IMPORT_CFM_FUNCTION Rename
  2139.     ENDIF
  2140.  
  2141. ;
  2142. ; pascal OSErr SetFInfo(ConstStr255Param fileName, short vRefNum, const FInfo *fndrInfo)
  2143. ;
  2144.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2145.         IMPORT_CFM_FUNCTION SetFInfo
  2146.     ENDIF
  2147.  
  2148. ;
  2149. ; pascal OSErr SetFLock(ConstStr255Param fileName, short vRefNum)
  2150. ;
  2151.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2152.         IMPORT_CFM_FUNCTION SetFLock
  2153.     ENDIF
  2154.  
  2155. ;
  2156. ; pascal OSErr RstFLock(ConstStr255Param fileName, short vRefNum)
  2157. ;
  2158.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2159.         IMPORT_CFM_FUNCTION RstFLock
  2160.     ENDIF
  2161.  
  2162. ;
  2163. ; pascal OSErr Allocate(short refNum, long *count)
  2164. ;
  2165.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2166.         IMPORT_CFM_FUNCTION Allocate
  2167.     ENDIF
  2168.  
  2169. ;
  2170. ; pascal OSErr GetEOF(short refNum, long *logEOF)
  2171. ;
  2172.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2173.         IMPORT_CFM_FUNCTION GetEOF
  2174.     ENDIF
  2175.  
  2176. ;
  2177. ; pascal OSErr SetEOF(short refNum, long logEOF)
  2178. ;
  2179.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2180.         IMPORT_CFM_FUNCTION SetEOF
  2181.     ENDIF
  2182.  
  2183. ;
  2184. ; pascal OSErr GetFPos(short refNum, long *filePos)
  2185. ;
  2186.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2187.         IMPORT_CFM_FUNCTION GetFPos
  2188.     ENDIF
  2189.  
  2190. ;
  2191. ; pascal OSErr SetFPos(short refNum, short posMode, long posOff)
  2192. ;
  2193.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2194.         IMPORT_CFM_FUNCTION SetFPos
  2195.     ENDIF
  2196.  
  2197. ;
  2198. ; pascal OSErr GetVRefNum(short fileRefNum, short *vRefNum)
  2199. ;
  2200.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2201.         IMPORT_CFM_FUNCTION GetVRefNum
  2202.     ENDIF
  2203.  
  2204. ;
  2205. ; pascal OSErr PBOpenWDSync(WDPBPtr paramBlock)
  2206. ;
  2207.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2208.         ; parameters:
  2209.         ;    paramBlock      => A0
  2210.         ; returns:
  2211.         ;    OSErr           <= D0
  2212.         Macro
  2213.         _PBOpenWDSync
  2214.             moveq               #1,D0
  2215.             dc.w                $A260
  2216.         EndM
  2217.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2218.         IMPORT_CFM_FUNCTION PBOpenWDSync
  2219.     ENDIF
  2220.  
  2221. ;
  2222. ; pascal OSErr PBOpenWDAsync(WDPBPtr paramBlock)
  2223. ;
  2224.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2225.         ; parameters:
  2226.         ;    paramBlock      => A0
  2227.         ; returns:
  2228.         ;    OSErr           <= D0
  2229.         Macro
  2230.         _PBOpenWDAsync
  2231.             moveq               #1,D0
  2232.             dc.w                $A660
  2233.         EndM
  2234.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2235.         IMPORT_CFM_FUNCTION PBOpenWDAsync
  2236.     ENDIF
  2237.  
  2238. ;
  2239. ; pascal OSErr PBCloseWDSync(WDPBPtr paramBlock)
  2240. ;
  2241.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2242.         ; parameters:
  2243.         ;    paramBlock      => A0
  2244.         ; returns:
  2245.         ;    OSErr           <= D0
  2246.         Macro
  2247.         _PBCloseWDSync
  2248.             moveq               #2,D0
  2249.             dc.w                $A260
  2250.         EndM
  2251.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2252.         IMPORT_CFM_FUNCTION PBCloseWDSync
  2253.     ENDIF
  2254.  
  2255. ;
  2256. ; pascal OSErr PBCloseWDAsync(WDPBPtr paramBlock)
  2257. ;
  2258.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2259.         ; parameters:
  2260.         ;    paramBlock      => A0
  2261.         ; returns:
  2262.         ;    OSErr           <= D0
  2263.         Macro
  2264.         _PBCloseWDAsync
  2265.             moveq               #2,D0
  2266.             dc.w                $A660
  2267.         EndM
  2268.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2269.         IMPORT_CFM_FUNCTION PBCloseWDAsync
  2270.     ENDIF
  2271.  
  2272. ;
  2273. ; pascal OSErr PBHSetVolSync(WDPBPtr paramBlock)
  2274. ;
  2275.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2276.         ; parameters:
  2277.         ;    paramBlock      => A0
  2278.         ; returns:
  2279.         ;    OSErr           <= D0
  2280.         _PBHSetVolSync:    OPWORD    $A215
  2281.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2282.         IMPORT_CFM_FUNCTION PBHSetVolSync
  2283.     ENDIF
  2284.  
  2285. ;
  2286. ; pascal OSErr PBHSetVolAsync(WDPBPtr paramBlock)
  2287. ;
  2288.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2289.         ; parameters:
  2290.         ;    paramBlock      => A0
  2291.         ; returns:
  2292.         ;    OSErr           <= D0
  2293.         _PBHSetVolAsync:    OPWORD    $A615
  2294.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2295.         IMPORT_CFM_FUNCTION PBHSetVolAsync
  2296.     ENDIF
  2297.  
  2298. ;
  2299. ; pascal OSErr PBHGetVolSync(WDPBPtr paramBlock)
  2300. ;
  2301.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2302.         ; parameters:
  2303.         ;    paramBlock      => A0
  2304.         ; returns:
  2305.         ;    OSErr           <= D0
  2306.         _PBHGetVolSync:    OPWORD    $A214
  2307.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2308.         IMPORT_CFM_FUNCTION PBHGetVolSync
  2309.     ENDIF
  2310.  
  2311. ;
  2312. ; pascal OSErr PBHGetVolAsync(WDPBPtr paramBlock)
  2313. ;
  2314.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2315.         ; parameters:
  2316.         ;    paramBlock      => A0
  2317.         ; returns:
  2318.         ;    OSErr           <= D0
  2319.         _PBHGetVolAsync:    OPWORD    $A614
  2320.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2321.         IMPORT_CFM_FUNCTION PBHGetVolAsync
  2322.     ENDIF
  2323.  
  2324. ;
  2325. ; pascal OSErr PBCatMoveSync(CMovePBPtr paramBlock)
  2326. ;
  2327.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2328.         ; parameters:
  2329.         ;    paramBlock      => A0
  2330.         ; returns:
  2331.         ;    OSErr           <= D0
  2332.         Macro
  2333.         _PBCatMoveSync
  2334.             moveq               #5,D0
  2335.             dc.w                $A260
  2336.         EndM
  2337.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2338.         IMPORT_CFM_FUNCTION PBCatMoveSync
  2339.     ENDIF
  2340.  
  2341. ;
  2342. ; pascal OSErr PBCatMoveAsync(CMovePBPtr paramBlock)
  2343. ;
  2344.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2345.         ; parameters:
  2346.         ;    paramBlock      => A0
  2347.         ; returns:
  2348.         ;    OSErr           <= D0
  2349.         Macro
  2350.         _PBCatMoveAsync
  2351.             moveq               #5,D0
  2352.             dc.w                $A660
  2353.         EndM
  2354.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2355.         IMPORT_CFM_FUNCTION PBCatMoveAsync
  2356.     ENDIF
  2357.  
  2358. ;
  2359. ; pascal OSErr PBDirCreateSync(HParmBlkPtr paramBlock)
  2360. ;
  2361.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2362.         ; parameters:
  2363.         ;    paramBlock      => A0
  2364.         ; returns:
  2365.         ;    OSErr           <= D0
  2366.         Macro
  2367.         _PBDirCreateSync
  2368.             moveq               #6,D0
  2369.             dc.w                $A260
  2370.         EndM
  2371.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2372.         IMPORT_CFM_FUNCTION PBDirCreateSync
  2373.     ENDIF
  2374.  
  2375. ;
  2376. ; pascal OSErr PBDirCreateAsync(HParmBlkPtr paramBlock)
  2377. ;
  2378.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2379.         ; parameters:
  2380.         ;    paramBlock      => A0
  2381.         ; returns:
  2382.         ;    OSErr           <= D0
  2383.         Macro
  2384.         _PBDirCreateAsync
  2385.             moveq               #6,D0
  2386.             dc.w                $A660
  2387.         EndM
  2388.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2389.         IMPORT_CFM_FUNCTION PBDirCreateAsync
  2390.     ENDIF
  2391.  
  2392. ;
  2393. ; pascal OSErr PBGetWDInfoSync(WDPBPtr paramBlock)
  2394. ;
  2395.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2396.         ; parameters:
  2397.         ;    paramBlock      => A0
  2398.         ; returns:
  2399.         ;    OSErr           <= D0
  2400.         Macro
  2401.         _PBGetWDInfoSync
  2402.             moveq               #7,D0
  2403.             dc.w                $A260
  2404.         EndM
  2405.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2406.         IMPORT_CFM_FUNCTION PBGetWDInfoSync
  2407.     ENDIF
  2408.  
  2409. ;
  2410. ; pascal OSErr PBGetWDInfoAsync(WDPBPtr paramBlock)
  2411. ;
  2412.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2413.         ; parameters:
  2414.         ;    paramBlock      => A0
  2415.         ; returns:
  2416.         ;    OSErr           <= D0
  2417.         Macro
  2418.         _PBGetWDInfoAsync
  2419.             moveq               #7,D0
  2420.             dc.w                $A660
  2421.         EndM
  2422.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2423.         IMPORT_CFM_FUNCTION PBGetWDInfoAsync
  2424.     ENDIF
  2425.  
  2426. ;
  2427. ; pascal OSErr PBGetFCBInfoSync(FCBPBPtr paramBlock)
  2428. ;
  2429.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2430.         ; parameters:
  2431.         ;    paramBlock      => A0
  2432.         ; returns:
  2433.         ;    OSErr           <= D0
  2434.         Macro
  2435.         _PBGetFCBInfoSync
  2436.             moveq               #8,D0
  2437.             dc.w                $A260
  2438.         EndM
  2439.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2440.         IMPORT_CFM_FUNCTION PBGetFCBInfoSync
  2441.     ENDIF
  2442.  
  2443. ;
  2444. ; pascal OSErr PBGetFCBInfoAsync(FCBPBPtr paramBlock)
  2445. ;
  2446.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2447.         ; parameters:
  2448.         ;    paramBlock      => A0
  2449.         ; returns:
  2450.         ;    OSErr           <= D0
  2451.         Macro
  2452.         _PBGetFCBInfoAsync
  2453.             moveq               #8,D0
  2454.             dc.w                $A660
  2455.         EndM
  2456.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2457.         IMPORT_CFM_FUNCTION PBGetFCBInfoAsync
  2458.     ENDIF
  2459.  
  2460. ;
  2461. ; pascal OSErr PBGetCatInfoSync(CInfoPBPtr paramBlock)
  2462. ;
  2463.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2464.         ; parameters:
  2465.         ;    paramBlock      => A0
  2466.         ; returns:
  2467.         ;    OSErr           <= D0
  2468.         Macro
  2469.         _PBGetCatInfoSync
  2470.             moveq               #9,D0
  2471.             dc.w                $A260
  2472.         EndM
  2473.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2474.         IMPORT_CFM_FUNCTION PBGetCatInfoSync
  2475.     ENDIF
  2476.  
  2477. ;
  2478. ; pascal OSErr PBGetCatInfoAsync(CInfoPBPtr paramBlock)
  2479. ;
  2480.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2481.         ; parameters:
  2482.         ;    paramBlock      => A0
  2483.         ; returns:
  2484.         ;    OSErr           <= D0
  2485.         Macro
  2486.         _PBGetCatInfoAsync
  2487.             moveq               #9,D0
  2488.             dc.w                $A660
  2489.         EndM
  2490.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2491.         IMPORT_CFM_FUNCTION PBGetCatInfoAsync
  2492.     ENDIF
  2493.  
  2494. ;
  2495. ; pascal OSErr PBSetCatInfoSync(CInfoPBPtr paramBlock)
  2496. ;
  2497.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2498.         ; parameters:
  2499.         ;    paramBlock      => A0
  2500.         ; returns:
  2501.         ;    OSErr           <= D0
  2502.         Macro
  2503.         _PBSetCatInfoSync
  2504.             moveq               #10,D0
  2505.             dc.w                $A260
  2506.         EndM
  2507.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2508.         IMPORT_CFM_FUNCTION PBSetCatInfoSync
  2509.     ENDIF
  2510.  
  2511. ;
  2512. ; pascal OSErr PBSetCatInfoAsync(CInfoPBPtr paramBlock)
  2513. ;
  2514.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2515.         ; parameters:
  2516.         ;    paramBlock      => A0
  2517.         ; returns:
  2518.         ;    OSErr           <= D0
  2519.         Macro
  2520.         _PBSetCatInfoAsync
  2521.             moveq               #10,D0
  2522.             dc.w                $A660
  2523.         EndM
  2524.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2525.         IMPORT_CFM_FUNCTION PBSetCatInfoAsync
  2526.     ENDIF
  2527.  
  2528. ;
  2529. ; pascal OSErr PBAllocContigSync(ParmBlkPtr paramBlock)
  2530. ;
  2531.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2532.         ; parameters:
  2533.         ;    paramBlock      => A0
  2534.         ; returns:
  2535.         ;    OSErr           <= D0
  2536.         _PBAllocContigSync:    OPWORD    $A210
  2537.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2538.         IMPORT_CFM_FUNCTION PBAllocContigSync
  2539.     ENDIF
  2540.  
  2541. ;
  2542. ; pascal OSErr PBAllocContigAsync(ParmBlkPtr paramBlock)
  2543. ;
  2544.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2545.         ; parameters:
  2546.         ;    paramBlock      => A0
  2547.         ; returns:
  2548.         ;    OSErr           <= D0
  2549.         _PBAllocContigAsync:    OPWORD    $A610
  2550.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2551.         IMPORT_CFM_FUNCTION PBAllocContigAsync
  2552.     ENDIF
  2553.  
  2554. ;
  2555. ; pascal OSErr PBLockRangeSync(ParmBlkPtr paramBlock)
  2556. ;
  2557.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2558.         ; parameters:
  2559.         ;    paramBlock      => A0
  2560.         ; returns:
  2561.         ;    OSErr           <= D0
  2562.         Macro
  2563.         _PBLockRangeSync
  2564.             moveq               #16,D0
  2565.             dc.w                $A260
  2566.         EndM
  2567.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2568.         IMPORT_CFM_FUNCTION PBLockRangeSync
  2569.     ENDIF
  2570.  
  2571. ;
  2572. ; pascal OSErr PBLockRangeAsync(ParmBlkPtr paramBlock)
  2573. ;
  2574.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2575.         ; parameters:
  2576.         ;    paramBlock      => A0
  2577.         ; returns:
  2578.         ;    OSErr           <= D0
  2579.         Macro
  2580.         _PBLockRangeAsync
  2581.             moveq               #16,D0
  2582.             dc.w                $A660
  2583.         EndM
  2584.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2585.         IMPORT_CFM_FUNCTION PBLockRangeAsync
  2586.     ENDIF
  2587.  
  2588. ;
  2589. ; pascal OSErr PBUnlockRangeSync(ParmBlkPtr paramBlock)
  2590. ;
  2591.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2592.         ; parameters:
  2593.         ;    paramBlock      => A0
  2594.         ; returns:
  2595.         ;    OSErr           <= D0
  2596.         Macro
  2597.         _PBUnlockRangeSync
  2598.             moveq               #17,D0
  2599.             dc.w                $A260
  2600.         EndM
  2601.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2602.         IMPORT_CFM_FUNCTION PBUnlockRangeSync
  2603.     ENDIF
  2604.  
  2605. ;
  2606. ; pascal OSErr PBUnlockRangeAsync(ParmBlkPtr paramBlock)
  2607. ;
  2608.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2609.         ; parameters:
  2610.         ;    paramBlock      => A0
  2611.         ; returns:
  2612.         ;    OSErr           <= D0
  2613.         Macro
  2614.         _PBUnlockRangeAsync
  2615.             moveq               #17,D0
  2616.             dc.w                $A660
  2617.         EndM
  2618.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2619.         IMPORT_CFM_FUNCTION PBUnlockRangeAsync
  2620.     ENDIF
  2621.  
  2622. ;
  2623. ; pascal OSErr PBSetVInfoSync(HParmBlkPtr paramBlock)
  2624. ;
  2625.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2626.         ; parameters:
  2627.         ;    paramBlock      => A0
  2628.         ; returns:
  2629.         ;    OSErr           <= D0
  2630.         Macro
  2631.         _PBSetVInfoSync
  2632.             moveq               #11,D0
  2633.             dc.w                $A260
  2634.         EndM
  2635.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2636.         IMPORT_CFM_FUNCTION PBSetVInfoSync
  2637.     ENDIF
  2638.  
  2639. ;
  2640. ; pascal OSErr PBSetVInfoAsync(HParmBlkPtr paramBlock)
  2641. ;
  2642.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2643.         ; parameters:
  2644.         ;    paramBlock      => A0
  2645.         ; returns:
  2646.         ;    OSErr           <= D0
  2647.         Macro
  2648.         _PBSetVInfoAsync
  2649.             moveq               #11,D0
  2650.             dc.w                $A660
  2651.         EndM
  2652.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2653.         IMPORT_CFM_FUNCTION PBSetVInfoAsync
  2654.     ENDIF
  2655.  
  2656. ;
  2657. ; pascal OSErr PBHGetVInfoSync(HParmBlkPtr paramBlock)
  2658. ;
  2659.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2660.         ; parameters:
  2661.         ;    paramBlock      => A0
  2662.         ; returns:
  2663.         ;    OSErr           <= D0
  2664.         _PBHGetVInfoSync:    OPWORD    $A207
  2665.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2666.         IMPORT_CFM_FUNCTION PBHGetVInfoSync
  2667.     ENDIF
  2668.  
  2669. ;
  2670. ; pascal OSErr PBHGetVInfoAsync(HParmBlkPtr paramBlock)
  2671. ;
  2672.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2673.         ; parameters:
  2674.         ;    paramBlock      => A0
  2675.         ; returns:
  2676.         ;    OSErr           <= D0
  2677.         _PBHGetVInfoAsync:    OPWORD    $A607
  2678.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2679.         IMPORT_CFM_FUNCTION PBHGetVInfoAsync
  2680.     ENDIF
  2681.  
  2682. ;
  2683. ; pascal OSErr PBHOpenSync(HParmBlkPtr paramBlock)
  2684. ;
  2685.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2686.         ; parameters:
  2687.         ;    paramBlock      => A0
  2688.         ; returns:
  2689.         ;    OSErr           <= D0
  2690.         _PBHOpenSync:    OPWORD    $A200
  2691.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2692.         IMPORT_CFM_FUNCTION PBHOpenSync
  2693.     ENDIF
  2694.  
  2695. ;
  2696. ; pascal OSErr PBHOpenAsync(HParmBlkPtr paramBlock)
  2697. ;
  2698.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2699.         ; parameters:
  2700.         ;    paramBlock      => A0
  2701.         ; returns:
  2702.         ;    OSErr           <= D0
  2703.         _PBHOpenAsync:    OPWORD    $A600
  2704.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2705.         IMPORT_CFM_FUNCTION PBHOpenAsync
  2706.     ENDIF
  2707.  
  2708. ;
  2709. ; pascal OSErr PBHOpenRFSync(HParmBlkPtr paramBlock)
  2710. ;
  2711.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2712.         ; parameters:
  2713.         ;    paramBlock      => A0
  2714.         ; returns:
  2715.         ;    OSErr           <= D0
  2716.         _PBHOpenRFSync:    OPWORD    $A20A
  2717.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2718.         IMPORT_CFM_FUNCTION PBHOpenRFSync
  2719.     ENDIF
  2720.  
  2721. ;
  2722. ; pascal OSErr PBHOpenRFAsync(HParmBlkPtr paramBlock)
  2723. ;
  2724.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2725.         ; parameters:
  2726.         ;    paramBlock      => A0
  2727.         ; returns:
  2728.         ;    OSErr           <= D0
  2729.         _PBHOpenRFAsync:    OPWORD    $A60A
  2730.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2731.         IMPORT_CFM_FUNCTION PBHOpenRFAsync
  2732.     ENDIF
  2733.  
  2734. ;
  2735. ; pascal OSErr PBHOpenDFSync(HParmBlkPtr paramBlock)
  2736. ;
  2737.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2738.         ; parameters:
  2739.         ;    paramBlock      => A0
  2740.         ; returns:
  2741.         ;    OSErr           <= D0
  2742.         Macro
  2743.         _PBHOpenDFSync
  2744.             moveq               #26,D0
  2745.             dc.w                $A260
  2746.         EndM
  2747.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2748.         IMPORT_CFM_FUNCTION PBHOpenDFSync
  2749.     ENDIF
  2750.  
  2751. ;
  2752. ; pascal OSErr PBHOpenDFAsync(HParmBlkPtr paramBlock)
  2753. ;
  2754.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2755.         ; parameters:
  2756.         ;    paramBlock      => A0
  2757.         ; returns:
  2758.         ;    OSErr           <= D0
  2759.         Macro
  2760.         _PBHOpenDFAsync
  2761.             moveq               #26,D0
  2762.             dc.w                $A660
  2763.         EndM
  2764.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2765.         IMPORT_CFM_FUNCTION PBHOpenDFAsync
  2766.     ENDIF
  2767.  
  2768. ;
  2769. ; pascal OSErr PBHCreateSync(HParmBlkPtr paramBlock)
  2770. ;
  2771.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2772.         ; parameters:
  2773.         ;    paramBlock      => A0
  2774.         ; returns:
  2775.         ;    OSErr           <= D0
  2776.         _PBHCreateSync:    OPWORD    $A208
  2777.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2778.         IMPORT_CFM_FUNCTION PBHCreateSync
  2779.     ENDIF
  2780.  
  2781. ;
  2782. ; pascal OSErr PBHCreateAsync(HParmBlkPtr paramBlock)
  2783. ;
  2784.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2785.         ; parameters:
  2786.         ;    paramBlock      => A0
  2787.         ; returns:
  2788.         ;    OSErr           <= D0
  2789.         _PBHCreateAsync:    OPWORD    $A608
  2790.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2791.         IMPORT_CFM_FUNCTION PBHCreateAsync
  2792.     ENDIF
  2793.  
  2794. ;
  2795. ; pascal OSErr PBHDeleteSync(HParmBlkPtr paramBlock)
  2796. ;
  2797.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2798.         ; parameters:
  2799.         ;    paramBlock      => A0
  2800.         ; returns:
  2801.         ;    OSErr           <= D0
  2802.         _PBHDeleteSync:    OPWORD    $A209
  2803.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2804.         IMPORT_CFM_FUNCTION PBHDeleteSync
  2805.     ENDIF
  2806.  
  2807. ;
  2808. ; pascal OSErr PBHDeleteAsync(HParmBlkPtr paramBlock)
  2809. ;
  2810.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2811.         ; parameters:
  2812.         ;    paramBlock      => A0
  2813.         ; returns:
  2814.         ;    OSErr           <= D0
  2815.         _PBHDeleteAsync:    OPWORD    $A609
  2816.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2817.         IMPORT_CFM_FUNCTION PBHDeleteAsync
  2818.     ENDIF
  2819.  
  2820. ;
  2821. ; pascal OSErr PBHRenameSync(HParmBlkPtr paramBlock)
  2822. ;
  2823.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2824.         ; parameters:
  2825.         ;    paramBlock      => A0
  2826.         ; returns:
  2827.         ;    OSErr           <= D0
  2828.         _PBHRenameSync:    OPWORD    $A20B
  2829.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2830.         IMPORT_CFM_FUNCTION PBHRenameSync
  2831.     ENDIF
  2832.  
  2833. ;
  2834. ; pascal OSErr PBHRenameAsync(HParmBlkPtr paramBlock)
  2835. ;
  2836.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2837.         ; parameters:
  2838.         ;    paramBlock      => A0
  2839.         ; returns:
  2840.         ;    OSErr           <= D0
  2841.         _PBHRenameAsync:    OPWORD    $A60B
  2842.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2843.         IMPORT_CFM_FUNCTION PBHRenameAsync
  2844.     ENDIF
  2845.  
  2846. ;
  2847. ; pascal OSErr PBHRstFLockSync(HParmBlkPtr paramBlock)
  2848. ;
  2849.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2850.         ; parameters:
  2851.         ;    paramBlock      => A0
  2852.         ; returns:
  2853.         ;    OSErr           <= D0
  2854.         _PBHRstFLockSync:    OPWORD    $A242
  2855.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2856.         IMPORT_CFM_FUNCTION PBHRstFLockSync
  2857.     ENDIF
  2858.  
  2859. ;
  2860. ; pascal OSErr PBHRstFLockAsync(HParmBlkPtr paramBlock)
  2861. ;
  2862.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2863.         ; parameters:
  2864.         ;    paramBlock      => A0
  2865.         ; returns:
  2866.         ;    OSErr           <= D0
  2867.         _PBHRstFLockAsync:    OPWORD    $A642
  2868.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2869.         IMPORT_CFM_FUNCTION PBHRstFLockAsync
  2870.     ENDIF
  2871.  
  2872. ;
  2873. ; pascal OSErr PBHSetFLockSync(HParmBlkPtr paramBlock)
  2874. ;
  2875.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2876.         ; parameters:
  2877.         ;    paramBlock      => A0
  2878.         ; returns:
  2879.         ;    OSErr           <= D0
  2880.         _PBHSetFLockSync:    OPWORD    $A241
  2881.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2882.         IMPORT_CFM_FUNCTION PBHSetFLockSync
  2883.     ENDIF
  2884.  
  2885. ;
  2886. ; pascal OSErr PBHSetFLockAsync(HParmBlkPtr paramBlock)
  2887. ;
  2888.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2889.         ; parameters:
  2890.         ;    paramBlock      => A0
  2891.         ; returns:
  2892.         ;    OSErr           <= D0
  2893.         _PBHSetFLockAsync:    OPWORD    $A641
  2894.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2895.         IMPORT_CFM_FUNCTION PBHSetFLockAsync
  2896.     ENDIF
  2897.  
  2898. ;
  2899. ; pascal OSErr PBHGetFInfoSync(HParmBlkPtr paramBlock)
  2900. ;
  2901.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2902.         ; parameters:
  2903.         ;    paramBlock      => A0
  2904.         ; returns:
  2905.         ;    OSErr           <= D0
  2906.         _PBHGetFInfoSync:    OPWORD    $A20C
  2907.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2908.         IMPORT_CFM_FUNCTION PBHGetFInfoSync
  2909.     ENDIF
  2910.  
  2911. ;
  2912. ; pascal OSErr PBHGetFInfoAsync(HParmBlkPtr paramBlock)
  2913. ;
  2914.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2915.         ; parameters:
  2916.         ;    paramBlock      => A0
  2917.         ; returns:
  2918.         ;    OSErr           <= D0
  2919.         _PBHGetFInfoAsync:    OPWORD    $A60C
  2920.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2921.         IMPORT_CFM_FUNCTION PBHGetFInfoAsync
  2922.     ENDIF
  2923.  
  2924. ;
  2925. ; pascal OSErr PBHSetFInfoSync(HParmBlkPtr paramBlock)
  2926. ;
  2927.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2928.         ; parameters:
  2929.         ;    paramBlock      => A0
  2930.         ; returns:
  2931.         ;    OSErr           <= D0
  2932.         _PBHSetFInfoSync:    OPWORD    $A20D
  2933.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2934.         IMPORT_CFM_FUNCTION PBHSetFInfoSync
  2935.     ENDIF
  2936.  
  2937. ;
  2938. ; pascal OSErr PBHSetFInfoAsync(HParmBlkPtr paramBlock)
  2939. ;
  2940.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2941.         ; parameters:
  2942.         ;    paramBlock      => A0
  2943.         ; returns:
  2944.         ;    OSErr           <= D0
  2945.         _PBHSetFInfoAsync:    OPWORD    $A60D
  2946.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2947.         IMPORT_CFM_FUNCTION PBHSetFInfoAsync
  2948.     ENDIF
  2949.  
  2950. ;
  2951. ; pascal OSErr PBMakeFSSpecSync(HParmBlkPtr paramBlock)
  2952. ;
  2953.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2954.         ; parameters:
  2955.         ;    paramBlock      => A0
  2956.         ; returns:
  2957.         ;    OSErr           <= D0
  2958.         Macro
  2959.         _PBMakeFSSpecSync
  2960.             moveq               #27,D0
  2961.             dc.w                $A260
  2962.         EndM
  2963.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2964.         IMPORT_CFM_FUNCTION PBMakeFSSpecSync
  2965.     ENDIF
  2966.  
  2967. ;
  2968. ; pascal OSErr PBMakeFSSpecAsync(HParmBlkPtr paramBlock)
  2969. ;
  2970.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2971.         ; parameters:
  2972.         ;    paramBlock      => A0
  2973.         ; returns:
  2974.         ;    OSErr           <= D0
  2975.         Macro
  2976.         _PBMakeFSSpecAsync
  2977.             moveq               #27,D0
  2978.             dc.w                $A660
  2979.         EndM
  2980.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2981.         IMPORT_CFM_FUNCTION PBMakeFSSpecAsync
  2982.     ENDIF
  2983.  
  2984. ;
  2985. ; pascal void FInitQueue(void )
  2986. ;
  2987.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2988.         _FInitQueue:    OPWORD    $A016
  2989.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2990.         IMPORT_CFM_FUNCTION FInitQueue
  2991.     ENDIF
  2992.  
  2993.  
  2994. ;
  2995. ; pascal QHdrPtr GetFSQHdr(void )
  2996. ;
  2997.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2998.         Macro
  2999.         _GetFSQHdr            &dest=(sp)
  3000.             move.l            #$00000360,&dest
  3001.         EndM
  3002.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3003.         IMPORT_CFM_FUNCTION GetFSQHdr
  3004.     ENDIF
  3005.  
  3006. ;
  3007. ; pascal QHdrPtr GetVCBQHdr(void )
  3008. ;
  3009.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3010.         Macro
  3011.         _GetVCBQHdr           &dest=(sp)
  3012.             move.l            #$00000356,&dest
  3013.         EndM
  3014.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3015.         IMPORT_CFM_FUNCTION GetVCBQHdr
  3016.     ENDIF
  3017.  
  3018.     IF OLDROUTINELOCATIONS THEN
  3019. ;
  3020. ; pascal QHdrPtr GetDrvQHdr(void )
  3021. ;
  3022.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3023.         Macro
  3024.         _GetDrvQHdr           &dest=(sp)
  3025.             move.l            #$00000308,&dest
  3026.         EndM
  3027.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3028.         IMPORT_CFM_FUNCTION GetDrvQHdr
  3029.     ENDIF
  3030.  
  3031.     ENDIF    ; OLDROUTINELOCATIONS
  3032. ;
  3033. ; pascal OSErr HGetVol(StringPtr volName, short *vRefNum, long *dirID)
  3034. ;
  3035.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3036.         IMPORT_CFM_FUNCTION HGetVol
  3037.     ENDIF
  3038.  
  3039. ;
  3040. ; pascal OSErr HOpen(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission, short *refNum)
  3041. ;
  3042.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3043.         IMPORT_CFM_FUNCTION HOpen
  3044.     ENDIF
  3045.  
  3046. ;
  3047. ; pascal OSErr HOpenDF(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission, short *refNum)
  3048. ;
  3049.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3050.         IMPORT_CFM_FUNCTION HOpenDF
  3051.     ENDIF
  3052.  
  3053. ;
  3054. ; pascal OSErr HOpenRF(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission, short *refNum)
  3055. ;
  3056.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3057.         IMPORT_CFM_FUNCTION HOpenRF
  3058.     ENDIF
  3059.  
  3060. ;
  3061. ; pascal OSErr AllocContig(short refNum, long *count)
  3062. ;
  3063.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3064.         IMPORT_CFM_FUNCTION AllocContig
  3065.     ENDIF
  3066.  
  3067. ;
  3068. ; pascal OSErr HCreate(short vRefNum, long dirID, ConstStr255Param fileName, OSType creator, OSType fileType)
  3069. ;
  3070.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3071.         IMPORT_CFM_FUNCTION HCreate
  3072.     ENDIF
  3073.  
  3074. ;
  3075. ; pascal OSErr DirCreate(short vRefNum, long parentDirID, ConstStr255Param directoryName, long *createdDirID)
  3076. ;
  3077.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3078.         IMPORT_CFM_FUNCTION DirCreate
  3079.     ENDIF
  3080.  
  3081. ;
  3082. ; pascal OSErr HDelete(short vRefNum, long dirID, ConstStr255Param fileName)
  3083. ;
  3084.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3085.         IMPORT_CFM_FUNCTION HDelete
  3086.     ENDIF
  3087.  
  3088. ;
  3089. ; pascal OSErr HGetFInfo(short vRefNum, long dirID, ConstStr255Param fileName, FInfo *fndrInfo)
  3090. ;
  3091.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3092.         IMPORT_CFM_FUNCTION HGetFInfo
  3093.     ENDIF
  3094.  
  3095. ;
  3096. ; pascal OSErr HSetFInfo(short vRefNum, long dirID, ConstStr255Param fileName, const FInfo *fndrInfo)
  3097. ;
  3098.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3099.         IMPORT_CFM_FUNCTION HSetFInfo
  3100.     ENDIF
  3101.  
  3102. ;
  3103. ; pascal OSErr HSetFLock(short vRefNum, long dirID, ConstStr255Param fileName)
  3104. ;
  3105.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3106.         IMPORT_CFM_FUNCTION HSetFLock
  3107.     ENDIF
  3108.  
  3109. ;
  3110. ; pascal OSErr HRstFLock(short vRefNum, long dirID, ConstStr255Param fileName)
  3111. ;
  3112.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3113.         IMPORT_CFM_FUNCTION HRstFLock
  3114.     ENDIF
  3115.  
  3116. ;
  3117. ; pascal OSErr HRename(short vRefNum, long dirID, ConstStr255Param oldName, ConstStr255Param newName)
  3118. ;
  3119.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3120.         IMPORT_CFM_FUNCTION HRename
  3121.     ENDIF
  3122.  
  3123. ;
  3124. ; pascal OSErr CatMove(short vRefNum, long dirID, ConstStr255Param oldName, long newDirID, ConstStr255Param newName)
  3125. ;
  3126.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3127.         IMPORT_CFM_FUNCTION CatMove
  3128.     ENDIF
  3129.  
  3130. ;
  3131. ; pascal OSErr OpenWD(short vRefNum, long dirID, long procID, short *wdRefNum)
  3132. ;
  3133.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3134.         IMPORT_CFM_FUNCTION OpenWD
  3135.     ENDIF
  3136.  
  3137. ;
  3138. ; pascal OSErr CloseWD(short wdRefNum)
  3139. ;
  3140.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3141.         IMPORT_CFM_FUNCTION CloseWD
  3142.     ENDIF
  3143.  
  3144. ;
  3145. ; pascal OSErr GetWDInfo(short wdRefNum, short *vRefNum, long *dirID, long *procID)
  3146. ;
  3147.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3148.         IMPORT_CFM_FUNCTION GetWDInfo
  3149.     ENDIF
  3150.  
  3151. ;   shared environment  
  3152. ;
  3153. ; pascal OSErr PBHGetVolParmsSync(HParmBlkPtr paramBlock)
  3154. ;
  3155.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3156.         ; parameters:
  3157.         ;    paramBlock      => A0
  3158.         ; returns:
  3159.         ;    OSErr           <= D0
  3160.         Macro
  3161.         _PBHGetVolParmsSync
  3162.             moveq               #48,D0
  3163.             dc.w                $A260
  3164.         EndM
  3165.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3166.         IMPORT_CFM_FUNCTION PBHGetVolParmsSync
  3167.     ENDIF
  3168.  
  3169. ;
  3170. ; pascal OSErr PBHGetVolParmsAsync(HParmBlkPtr paramBlock)
  3171. ;
  3172.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3173.         ; parameters:
  3174.         ;    paramBlock      => A0
  3175.         ; returns:
  3176.         ;    OSErr           <= D0
  3177.         Macro
  3178.         _PBHGetVolParmsAsync
  3179.             moveq               #48,D0
  3180.             dc.w                $A660
  3181.         EndM
  3182.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3183.         IMPORT_CFM_FUNCTION PBHGetVolParmsAsync
  3184.     ENDIF
  3185.  
  3186. ;
  3187. ; pascal OSErr PBHGetLogInInfoSync(HParmBlkPtr paramBlock)
  3188. ;
  3189.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3190.         ; parameters:
  3191.         ;    paramBlock      => A0
  3192.         ; returns:
  3193.         ;    OSErr           <= D0
  3194.         Macro
  3195.         _PBHGetLogInInfoSync
  3196.             moveq               #49,D0
  3197.             dc.w                $A260
  3198.         EndM
  3199.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3200.         IMPORT_CFM_FUNCTION PBHGetLogInInfoSync
  3201.     ENDIF
  3202.  
  3203. ;
  3204. ; pascal OSErr PBHGetLogInInfoAsync(HParmBlkPtr paramBlock)
  3205. ;
  3206.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3207.         ; parameters:
  3208.         ;    paramBlock      => A0
  3209.         ; returns:
  3210.         ;    OSErr           <= D0
  3211.         Macro
  3212.         _PBHGetLogInInfoAsync
  3213.             moveq               #49,D0
  3214.             dc.w                $A660
  3215.         EndM
  3216.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3217.         IMPORT_CFM_FUNCTION PBHGetLogInInfoAsync
  3218.     ENDIF
  3219.  
  3220. ;
  3221. ; pascal OSErr PBHGetDirAccessSync(HParmBlkPtr paramBlock)
  3222. ;
  3223.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3224.         ; parameters:
  3225.         ;    paramBlock      => A0
  3226.         ; returns:
  3227.         ;    OSErr           <= D0
  3228.         Macro
  3229.         _PBHGetDirAccessSync
  3230.             moveq               #50,D0
  3231.             dc.w                $A260
  3232.         EndM
  3233.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3234.         IMPORT_CFM_FUNCTION PBHGetDirAccessSync
  3235.     ENDIF
  3236.  
  3237. ;
  3238. ; pascal OSErr PBHGetDirAccessAsync(HParmBlkPtr paramBlock)
  3239. ;
  3240.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3241.         ; parameters:
  3242.         ;    paramBlock      => A0
  3243.         ; returns:
  3244.         ;    OSErr           <= D0
  3245.         Macro
  3246.         _PBHGetDirAccessAsync
  3247.             moveq               #50,D0
  3248.             dc.w                $A660
  3249.         EndM
  3250.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3251.         IMPORT_CFM_FUNCTION PBHGetDirAccessAsync
  3252.     ENDIF
  3253.  
  3254. ;
  3255. ; pascal OSErr PBHSetDirAccessSync(HParmBlkPtr paramBlock)
  3256. ;
  3257.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3258.         ; parameters:
  3259.         ;    paramBlock      => A0
  3260.         ; returns:
  3261.         ;    OSErr           <= D0
  3262.         Macro
  3263.         _PBHSetDirAccessSync
  3264.             moveq               #51,D0
  3265.             dc.w                $A260
  3266.         EndM
  3267.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3268.         IMPORT_CFM_FUNCTION PBHSetDirAccessSync
  3269.     ENDIF
  3270.  
  3271. ;
  3272. ; pascal OSErr PBHSetDirAccessAsync(HParmBlkPtr paramBlock)
  3273. ;
  3274.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3275.         ; parameters:
  3276.         ;    paramBlock      => A0
  3277.         ; returns:
  3278.         ;    OSErr           <= D0
  3279.         Macro
  3280.         _PBHSetDirAccessAsync
  3281.             moveq               #51,D0
  3282.             dc.w                $A660
  3283.         EndM
  3284.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3285.         IMPORT_CFM_FUNCTION PBHSetDirAccessAsync
  3286.     ENDIF
  3287.  
  3288. ;
  3289. ; pascal OSErr PBHMapIDSync(HParmBlkPtr paramBlock)
  3290. ;
  3291.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3292.         ; parameters:
  3293.         ;    paramBlock      => A0
  3294.         ; returns:
  3295.         ;    OSErr           <= D0
  3296.         Macro
  3297.         _PBHMapIDSync
  3298.             moveq               #52,D0
  3299.             dc.w                $A260
  3300.         EndM
  3301.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3302.         IMPORT_CFM_FUNCTION PBHMapIDSync
  3303.     ENDIF
  3304.  
  3305. ;
  3306. ; pascal OSErr PBHMapIDAsync(HParmBlkPtr paramBlock)
  3307. ;
  3308.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3309.         ; parameters:
  3310.         ;    paramBlock      => A0
  3311.         ; returns:
  3312.         ;    OSErr           <= D0
  3313.         Macro
  3314.         _PBHMapIDAsync
  3315.             moveq               #52,D0
  3316.             dc.w                $A660
  3317.         EndM
  3318.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3319.         IMPORT_CFM_FUNCTION PBHMapIDAsync
  3320.     ENDIF
  3321.  
  3322. ;
  3323. ; pascal OSErr PBHMapNameSync(HParmBlkPtr paramBlock)
  3324. ;
  3325.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3326.         ; parameters:
  3327.         ;    paramBlock      => A0
  3328.         ; returns:
  3329.         ;    OSErr           <= D0
  3330.         Macro
  3331.         _PBHMapNameSync
  3332.             moveq               #53,D0
  3333.             dc.w                $A260
  3334.         EndM
  3335.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3336.         IMPORT_CFM_FUNCTION PBHMapNameSync
  3337.     ENDIF
  3338.  
  3339. ;
  3340. ; pascal OSErr PBHMapNameAsync(HParmBlkPtr paramBlock)
  3341. ;
  3342.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3343.         ; parameters:
  3344.         ;    paramBlock      => A0
  3345.         ; returns:
  3346.         ;    OSErr           <= D0
  3347.         Macro
  3348.         _PBHMapNameAsync
  3349.             moveq               #53,D0
  3350.             dc.w                $A660
  3351.         EndM
  3352.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3353.         IMPORT_CFM_FUNCTION PBHMapNameAsync
  3354.     ENDIF
  3355.  
  3356. ;
  3357. ; pascal OSErr PBHCopyFileSync(HParmBlkPtr paramBlock)
  3358. ;
  3359.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3360.         ; parameters:
  3361.         ;    paramBlock      => A0
  3362.         ; returns:
  3363.         ;    OSErr           <= D0
  3364.         Macro
  3365.         _PBHCopyFileSync
  3366.             moveq               #54,D0
  3367.             dc.w                $A260
  3368.         EndM
  3369.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3370.         IMPORT_CFM_FUNCTION PBHCopyFileSync
  3371.     ENDIF
  3372.  
  3373. ;
  3374. ; pascal OSErr PBHCopyFileAsync(HParmBlkPtr paramBlock)
  3375. ;
  3376.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3377.         ; parameters:
  3378.         ;    paramBlock      => A0
  3379.         ; returns:
  3380.         ;    OSErr           <= D0
  3381.         Macro
  3382.         _PBHCopyFileAsync
  3383.             moveq               #54,D0
  3384.             dc.w                $A660
  3385.         EndM
  3386.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3387.         IMPORT_CFM_FUNCTION PBHCopyFileAsync
  3388.     ENDIF
  3389.  
  3390. ;
  3391. ; pascal OSErr PBHMoveRenameSync(HParmBlkPtr paramBlock)
  3392. ;
  3393.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3394.         ; parameters:
  3395.         ;    paramBlock      => A0
  3396.         ; returns:
  3397.         ;    OSErr           <= D0
  3398.         Macro
  3399.         _PBHMoveRenameSync
  3400.             moveq               #55,D0
  3401.             dc.w                $A260
  3402.         EndM
  3403.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3404.         IMPORT_CFM_FUNCTION PBHMoveRenameSync
  3405.     ENDIF
  3406.  
  3407. ;
  3408. ; pascal OSErr PBHMoveRenameAsync(HParmBlkPtr paramBlock)
  3409. ;
  3410.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3411.         ; parameters:
  3412.         ;    paramBlock      => A0
  3413.         ; returns:
  3414.         ;    OSErr           <= D0
  3415.         Macro
  3416.         _PBHMoveRenameAsync
  3417.             moveq               #55,D0
  3418.             dc.w                $A660
  3419.         EndM
  3420.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3421.         IMPORT_CFM_FUNCTION PBHMoveRenameAsync
  3422.     ENDIF
  3423.  
  3424. ;
  3425. ; pascal OSErr PBHOpenDenySync(HParmBlkPtr paramBlock)
  3426. ;
  3427.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3428.         ; parameters:
  3429.         ;    paramBlock      => A0
  3430.         ; returns:
  3431.         ;    OSErr           <= D0
  3432.         Macro
  3433.         _PBHOpenDenySync
  3434.             moveq               #56,D0
  3435.             dc.w                $A260
  3436.         EndM
  3437.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3438.         IMPORT_CFM_FUNCTION PBHOpenDenySync
  3439.     ENDIF
  3440.  
  3441. ;
  3442. ; pascal OSErr PBHOpenDenyAsync(HParmBlkPtr paramBlock)
  3443. ;
  3444.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3445.         ; parameters:
  3446.         ;    paramBlock      => A0
  3447.         ; returns:
  3448.         ;    OSErr           <= D0
  3449.         Macro
  3450.         _PBHOpenDenyAsync
  3451.             moveq               #56,D0
  3452.             dc.w                $A660
  3453.         EndM
  3454.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3455.         IMPORT_CFM_FUNCTION PBHOpenDenyAsync
  3456.     ENDIF
  3457.  
  3458. ;
  3459. ; pascal OSErr PBHOpenRFDenySync(HParmBlkPtr paramBlock)
  3460. ;
  3461.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3462.         ; parameters:
  3463.         ;    paramBlock      => A0
  3464.         ; returns:
  3465.         ;    OSErr           <= D0
  3466.         Macro
  3467.         _PBHOpenRFDenySync
  3468.             moveq               #57,D0
  3469.             dc.w                $A260
  3470.         EndM
  3471.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3472.         IMPORT_CFM_FUNCTION PBHOpenRFDenySync
  3473.     ENDIF
  3474.  
  3475. ;
  3476. ; pascal OSErr PBHOpenRFDenyAsync(HParmBlkPtr paramBlock)
  3477. ;
  3478.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3479.         ; parameters:
  3480.         ;    paramBlock      => A0
  3481.         ; returns:
  3482.         ;    OSErr           <= D0
  3483.         Macro
  3484.         _PBHOpenRFDenyAsync
  3485.             moveq               #57,D0
  3486.             dc.w                $A660
  3487.         EndM
  3488.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3489.         IMPORT_CFM_FUNCTION PBHOpenRFDenyAsync
  3490.     ENDIF
  3491.  
  3492. ;
  3493. ; pascal OSErr PBGetXCatInfoSync(XCInfoPBPtr paramBlock)
  3494. ;
  3495.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3496.         ; parameters:
  3497.         ;    paramBlock      => A0
  3498.         ; returns:
  3499.         ;    OSErr           <= D0
  3500.         Macro
  3501.         _PBGetXCatInfoSync
  3502.             moveq               #58,D0
  3503.             dc.w                $A260
  3504.         EndM
  3505.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3506.         IMPORT_CFM_FUNCTION PBGetXCatInfoSync
  3507.     ENDIF
  3508.  
  3509. ;
  3510. ; pascal OSErr PBGetXCatInfoAsync(XCInfoPBPtr paramBlock)
  3511. ;
  3512.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3513.         ; parameters:
  3514.         ;    paramBlock      => A0
  3515.         ; returns:
  3516.         ;    OSErr           <= D0
  3517.         Macro
  3518.         _PBGetXCatInfoAsync
  3519.             moveq               #58,D0
  3520.             dc.w                $A660
  3521.         EndM
  3522.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3523.         IMPORT_CFM_FUNCTION PBGetXCatInfoAsync
  3524.     ENDIF
  3525.  
  3526. ;
  3527. ; pascal OSErr PBExchangeFilesSync(HParmBlkPtr paramBlock)
  3528. ;
  3529.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3530.         ; parameters:
  3531.         ;    paramBlock      => A0
  3532.         ; returns:
  3533.         ;    OSErr           <= D0
  3534.         Macro
  3535.         _PBExchangeFilesSync
  3536.             moveq               #23,D0
  3537.             dc.w                $A260
  3538.         EndM
  3539.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3540.         IMPORT_CFM_FUNCTION PBExchangeFilesSync
  3541.     ENDIF
  3542.  
  3543. ;
  3544. ; pascal OSErr PBExchangeFilesAsync(HParmBlkPtr paramBlock)
  3545. ;
  3546.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3547.         ; parameters:
  3548.         ;    paramBlock      => A0
  3549.         ; returns:
  3550.         ;    OSErr           <= D0
  3551.         Macro
  3552.         _PBExchangeFilesAsync
  3553.             moveq               #23,D0
  3554.             dc.w                $A660
  3555.         EndM
  3556.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3557.         IMPORT_CFM_FUNCTION PBExchangeFilesAsync
  3558.     ENDIF
  3559.  
  3560. ;
  3561. ; pascal OSErr PBCreateFileIDRefSync(HParmBlkPtr paramBlock)
  3562. ;
  3563.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3564.         ; parameters:
  3565.         ;    paramBlock      => A0
  3566.         ; returns:
  3567.         ;    OSErr           <= D0
  3568.         Macro
  3569.         _PBCreateFileIDRefSync
  3570.             moveq               #20,D0
  3571.             dc.w                $A260
  3572.         EndM
  3573.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3574.         IMPORT_CFM_FUNCTION PBCreateFileIDRefSync
  3575.     ENDIF
  3576.  
  3577. ;
  3578. ; pascal OSErr PBCreateFileIDRefAsync(HParmBlkPtr paramBlock)
  3579. ;
  3580.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3581.         ; parameters:
  3582.         ;    paramBlock      => A0
  3583.         ; returns:
  3584.         ;    OSErr           <= D0
  3585.         Macro
  3586.         _PBCreateFileIDRefAsync
  3587.             moveq               #20,D0
  3588.             dc.w                $A660
  3589.         EndM
  3590.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3591.         IMPORT_CFM_FUNCTION PBCreateFileIDRefAsync
  3592.     ENDIF
  3593.  
  3594. ;
  3595. ; pascal OSErr PBResolveFileIDRefSync(HParmBlkPtr paramBlock)
  3596. ;
  3597.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3598.         ; parameters:
  3599.         ;    paramBlock      => A0
  3600.         ; returns:
  3601.         ;    OSErr           <= D0
  3602.         Macro
  3603.         _PBResolveFileIDRefSync
  3604.             moveq               #22,D0
  3605.             dc.w                $A260
  3606.         EndM
  3607.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3608.         IMPORT_CFM_FUNCTION PBResolveFileIDRefSync
  3609.     ENDIF
  3610.  
  3611. ;
  3612. ; pascal OSErr PBResolveFileIDRefAsync(HParmBlkPtr paramBlock)
  3613. ;
  3614.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3615.         ; parameters:
  3616.         ;    paramBlock      => A0
  3617.         ; returns:
  3618.         ;    OSErr           <= D0
  3619.         Macro
  3620.         _PBResolveFileIDRefAsync
  3621.             moveq               #22,D0
  3622.             dc.w                $A660
  3623.         EndM
  3624.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3625.         IMPORT_CFM_FUNCTION PBResolveFileIDRefAsync
  3626.     ENDIF
  3627.  
  3628. ;
  3629. ; pascal OSErr PBDeleteFileIDRefSync(HParmBlkPtr paramBlock)
  3630. ;
  3631.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3632.         ; parameters:
  3633.         ;    paramBlock      => A0
  3634.         ; returns:
  3635.         ;    OSErr           <= D0
  3636.         Macro
  3637.         _PBDeleteFileIDRefSync
  3638.             moveq               #21,D0
  3639.             dc.w                $A260
  3640.         EndM
  3641.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3642.         IMPORT_CFM_FUNCTION PBDeleteFileIDRefSync
  3643.     ENDIF
  3644.  
  3645. ;
  3646. ; pascal OSErr PBDeleteFileIDRefAsync(HParmBlkPtr paramBlock)
  3647. ;
  3648.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3649.         ; parameters:
  3650.         ;    paramBlock      => A0
  3651.         ; returns:
  3652.         ;    OSErr           <= D0
  3653.         Macro
  3654.         _PBDeleteFileIDRefAsync
  3655.             moveq               #21,D0
  3656.             dc.w                $A660
  3657.         EndM
  3658.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3659.         IMPORT_CFM_FUNCTION PBDeleteFileIDRefAsync
  3660.     ENDIF
  3661.  
  3662. ;
  3663. ; pascal OSErr PBGetForeignPrivsSync(HParmBlkPtr paramBlock)
  3664. ;
  3665.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3666.         ; parameters:
  3667.         ;    paramBlock      => A0
  3668.         ; returns:
  3669.         ;    OSErr           <= D0
  3670.         Macro
  3671.         _PBGetForeignPrivsSync
  3672.             moveq               #96,D0
  3673.             dc.w                $A260
  3674.         EndM
  3675.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3676.         IMPORT_CFM_FUNCTION PBGetForeignPrivsSync
  3677.     ENDIF
  3678.  
  3679. ;
  3680. ; pascal OSErr PBGetForeignPrivsAsync(HParmBlkPtr paramBlock)
  3681. ;
  3682.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3683.         ; parameters:
  3684.         ;    paramBlock      => A0
  3685.         ; returns:
  3686.         ;    OSErr           <= D0
  3687.         Macro
  3688.         _PBGetForeignPrivsAsync
  3689.             moveq               #96,D0
  3690.             dc.w                $A660
  3691.         EndM
  3692.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3693.         IMPORT_CFM_FUNCTION PBGetForeignPrivsAsync
  3694.     ENDIF
  3695.  
  3696. ;
  3697. ; pascal OSErr PBSetForeignPrivsSync(HParmBlkPtr paramBlock)
  3698. ;
  3699.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3700.         ; parameters:
  3701.         ;    paramBlock      => A0
  3702.         ; returns:
  3703.         ;    OSErr           <= D0
  3704.         Macro
  3705.         _PBSetForeignPrivsSync
  3706.             moveq               #97,D0
  3707.             dc.w                $A260
  3708.         EndM
  3709.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3710.         IMPORT_CFM_FUNCTION PBSetForeignPrivsSync
  3711.     ENDIF
  3712.  
  3713. ;
  3714. ; pascal OSErr PBSetForeignPrivsAsync(HParmBlkPtr paramBlock)
  3715. ;
  3716.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3717.         ; parameters:
  3718.         ;    paramBlock      => A0
  3719.         ; returns:
  3720.         ;    OSErr           <= D0
  3721.         Macro
  3722.         _PBSetForeignPrivsAsync
  3723.             moveq               #97,D0
  3724.             dc.w                $A660
  3725.         EndM
  3726.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3727.         IMPORT_CFM_FUNCTION PBSetForeignPrivsAsync
  3728.     ENDIF
  3729.  
  3730. ;   Desktop Manager  
  3731. ;
  3732. ; pascal OSErr PBDTGetPath(DTPBPtr paramBlock)
  3733. ;
  3734.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3735.         ; parameters:
  3736.         ;    paramBlock      => A0
  3737.         ; returns:
  3738.         ;    OSErr           <= D0
  3739.         Macro
  3740.         _PBDTGetPath
  3741.             moveq               #32,D0
  3742.             dc.w                $A260
  3743.         EndM
  3744.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3745.         IMPORT_CFM_FUNCTION PBDTGetPath
  3746.     ENDIF
  3747.  
  3748. ;
  3749. ; pascal OSErr PBDTCloseDown(DTPBPtr paramBlock)
  3750. ;
  3751.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3752.         ; parameters:
  3753.         ;    paramBlock      => A0
  3754.         ; returns:
  3755.         ;    OSErr           <= D0
  3756.         Macro
  3757.         _PBDTCloseDown
  3758.             moveq               #33,D0
  3759.             dc.w                $A260
  3760.         EndM
  3761.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3762.         IMPORT_CFM_FUNCTION PBDTCloseDown
  3763.     ENDIF
  3764.  
  3765. ;
  3766. ; pascal OSErr PBDTAddIconSync(DTPBPtr paramBlock)
  3767. ;
  3768.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3769.         ; parameters:
  3770.         ;    paramBlock      => A0
  3771.         ; returns:
  3772.         ;    OSErr           <= D0
  3773.         Macro
  3774.         _PBDTAddIconSync
  3775.             moveq               #34,D0
  3776.             dc.w                $A260
  3777.         EndM
  3778.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3779.         IMPORT_CFM_FUNCTION PBDTAddIconSync
  3780.     ENDIF
  3781.  
  3782. ;
  3783. ; pascal OSErr PBDTAddIconAsync(DTPBPtr paramBlock)
  3784. ;
  3785.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3786.         ; parameters:
  3787.         ;    paramBlock      => A0
  3788.         ; returns:
  3789.         ;    OSErr           <= D0
  3790.         Macro
  3791.         _PBDTAddIconAsync
  3792.             moveq               #34,D0
  3793.             dc.w                $A660
  3794.         EndM
  3795.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3796.         IMPORT_CFM_FUNCTION PBDTAddIconAsync
  3797.     ENDIF
  3798.  
  3799. ;
  3800. ; pascal OSErr PBDTGetIconSync(DTPBPtr paramBlock)
  3801. ;
  3802.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3803.         ; parameters:
  3804.         ;    paramBlock      => A0
  3805.         ; returns:
  3806.         ;    OSErr           <= D0
  3807.         Macro
  3808.         _PBDTGetIconSync
  3809.             moveq               #35,D0
  3810.             dc.w                $A260
  3811.         EndM
  3812.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3813.         IMPORT_CFM_FUNCTION PBDTGetIconSync
  3814.     ENDIF
  3815.  
  3816. ;
  3817. ; pascal OSErr PBDTGetIconAsync(DTPBPtr paramBlock)
  3818. ;
  3819.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3820.         ; parameters:
  3821.         ;    paramBlock      => A0
  3822.         ; returns:
  3823.         ;    OSErr           <= D0
  3824.         Macro
  3825.         _PBDTGetIconAsync
  3826.             moveq               #35,D0
  3827.             dc.w                $A660
  3828.         EndM
  3829.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3830.         IMPORT_CFM_FUNCTION PBDTGetIconAsync
  3831.     ENDIF
  3832.  
  3833. ;
  3834. ; pascal OSErr PBDTGetIconInfoSync(DTPBPtr paramBlock)
  3835. ;
  3836.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3837.         ; parameters:
  3838.         ;    paramBlock      => A0
  3839.         ; returns:
  3840.         ;    OSErr           <= D0
  3841.         Macro
  3842.         _PBDTGetIconInfoSync
  3843.             moveq               #36,D0
  3844.             dc.w                $A260
  3845.         EndM
  3846.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3847.         IMPORT_CFM_FUNCTION PBDTGetIconInfoSync
  3848.     ENDIF
  3849.  
  3850. ;
  3851. ; pascal OSErr PBDTGetIconInfoAsync(DTPBPtr paramBlock)
  3852. ;
  3853.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3854.         ; parameters:
  3855.         ;    paramBlock      => A0
  3856.         ; returns:
  3857.         ;    OSErr           <= D0
  3858.         Macro
  3859.         _PBDTGetIconInfoAsync
  3860.             moveq               #36,D0
  3861.             dc.w                $A660
  3862.         EndM
  3863.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3864.         IMPORT_CFM_FUNCTION PBDTGetIconInfoAsync
  3865.     ENDIF
  3866.  
  3867. ;
  3868. ; pascal OSErr PBDTAddAPPLSync(DTPBPtr paramBlock)
  3869. ;
  3870.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3871.         ; parameters:
  3872.         ;    paramBlock      => A0
  3873.         ; returns:
  3874.         ;    OSErr           <= D0
  3875.         Macro
  3876.         _PBDTAddAPPLSync
  3877.             moveq               #37,D0
  3878.             dc.w                $A260
  3879.         EndM
  3880.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3881.         IMPORT_CFM_FUNCTION PBDTAddAPPLSync
  3882.     ENDIF
  3883.  
  3884. ;
  3885. ; pascal OSErr PBDTAddAPPLAsync(DTPBPtr paramBlock)
  3886. ;
  3887.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3888.         ; parameters:
  3889.         ;    paramBlock      => A0
  3890.         ; returns:
  3891.         ;    OSErr           <= D0
  3892.         Macro
  3893.         _PBDTAddAPPLAsync
  3894.             moveq               #37,D0
  3895.             dc.w                $A660
  3896.         EndM
  3897.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3898.         IMPORT_CFM_FUNCTION PBDTAddAPPLAsync
  3899.     ENDIF
  3900.  
  3901. ;
  3902. ; pascal OSErr PBDTRemoveAPPLSync(DTPBPtr paramBlock)
  3903. ;
  3904.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3905.         ; parameters:
  3906.         ;    paramBlock      => A0
  3907.         ; returns:
  3908.         ;    OSErr           <= D0
  3909.         Macro
  3910.         _PBDTRemoveAPPLSync
  3911.             moveq               #38,D0
  3912.             dc.w                $A260
  3913.         EndM
  3914.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3915.         IMPORT_CFM_FUNCTION PBDTRemoveAPPLSync
  3916.     ENDIF
  3917.  
  3918. ;
  3919. ; pascal OSErr PBDTRemoveAPPLAsync(DTPBPtr paramBlock)
  3920. ;
  3921.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3922.         ; parameters:
  3923.         ;    paramBlock      => A0
  3924.         ; returns:
  3925.         ;    OSErr           <= D0
  3926.         Macro
  3927.         _PBDTRemoveAPPLAsync
  3928.             moveq               #38,D0
  3929.             dc.w                $A660
  3930.         EndM
  3931.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3932.         IMPORT_CFM_FUNCTION PBDTRemoveAPPLAsync
  3933.     ENDIF
  3934.  
  3935. ;
  3936. ; pascal OSErr PBDTGetAPPLSync(DTPBPtr paramBlock)
  3937. ;
  3938.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3939.         ; parameters:
  3940.         ;    paramBlock      => A0
  3941.         ; returns:
  3942.         ;    OSErr           <= D0
  3943.         Macro
  3944.         _PBDTGetAPPLSync
  3945.             moveq               #39,D0
  3946.             dc.w                $A260
  3947.         EndM
  3948.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3949.         IMPORT_CFM_FUNCTION PBDTGetAPPLSync
  3950.     ENDIF
  3951.  
  3952. ;
  3953. ; pascal OSErr PBDTGetAPPLAsync(DTPBPtr paramBlock)
  3954. ;
  3955.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3956.         ; parameters:
  3957.         ;    paramBlock      => A0
  3958.         ; returns:
  3959.         ;    OSErr           <= D0
  3960.         Macro
  3961.         _PBDTGetAPPLAsync
  3962.             moveq               #39,D0
  3963.             dc.w                $A660
  3964.         EndM
  3965.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3966.         IMPORT_CFM_FUNCTION PBDTGetAPPLAsync
  3967.     ENDIF
  3968.  
  3969. ;
  3970. ; pascal OSErr PBDTSetCommentSync(DTPBPtr paramBlock)
  3971. ;
  3972.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3973.         ; parameters:
  3974.         ;    paramBlock      => A0
  3975.         ; returns:
  3976.         ;    OSErr           <= D0
  3977.         Macro
  3978.         _PBDTSetCommentSync
  3979.             moveq               #40,D0
  3980.             dc.w                $A260
  3981.         EndM
  3982.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3983.         IMPORT_CFM_FUNCTION PBDTSetCommentSync
  3984.     ENDIF
  3985.  
  3986. ;
  3987. ; pascal OSErr PBDTSetCommentAsync(DTPBPtr paramBlock)
  3988. ;
  3989.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3990.         ; parameters:
  3991.         ;    paramBlock      => A0
  3992.         ; returns:
  3993.         ;    OSErr           <= D0
  3994.         Macro
  3995.         _PBDTSetCommentAsync
  3996.             moveq               #40,D0
  3997.             dc.w                $A660
  3998.         EndM
  3999.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4000.         IMPORT_CFM_FUNCTION PBDTSetCommentAsync
  4001.     ENDIF
  4002.  
  4003. ;
  4004. ; pascal OSErr PBDTRemoveCommentSync(DTPBPtr paramBlock)
  4005. ;
  4006.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4007.         ; parameters:
  4008.         ;    paramBlock      => A0
  4009.         ; returns:
  4010.         ;    OSErr           <= D0
  4011.         Macro
  4012.         _PBDTRemoveCommentSync
  4013.             moveq               #41,D0
  4014.             dc.w                $A260
  4015.         EndM
  4016.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4017.         IMPORT_CFM_FUNCTION PBDTRemoveCommentSync
  4018.     ENDIF
  4019.  
  4020. ;
  4021. ; pascal OSErr PBDTRemoveCommentAsync(DTPBPtr paramBlock)
  4022. ;
  4023.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4024.         ; parameters:
  4025.         ;    paramBlock      => A0
  4026.         ; returns:
  4027.         ;    OSErr           <= D0
  4028.         Macro
  4029.         _PBDTRemoveCommentAsync
  4030.             moveq               #41,D0
  4031.             dc.w                $A660
  4032.         EndM
  4033.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4034.         IMPORT_CFM_FUNCTION PBDTRemoveCommentAsync
  4035.     ENDIF
  4036.  
  4037. ;
  4038. ; pascal OSErr PBDTGetCommentSync(DTPBPtr paramBlock)
  4039. ;
  4040.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4041.         ; parameters:
  4042.         ;    paramBlock      => A0
  4043.         ; returns:
  4044.         ;    OSErr           <= D0
  4045.         Macro
  4046.         _PBDTGetCommentSync
  4047.             moveq               #42,D0
  4048.             dc.w                $A260
  4049.         EndM
  4050.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4051.         IMPORT_CFM_FUNCTION PBDTGetCommentSync
  4052.     ENDIF
  4053.  
  4054. ;
  4055. ; pascal OSErr PBDTGetCommentAsync(DTPBPtr paramBlock)
  4056. ;
  4057.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4058.         ; parameters:
  4059.         ;    paramBlock      => A0
  4060.         ; returns:
  4061.         ;    OSErr           <= D0
  4062.         Macro
  4063.         _PBDTGetCommentAsync
  4064.             moveq               #42,D0
  4065.             dc.w                $A660
  4066.         EndM
  4067.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4068.         IMPORT_CFM_FUNCTION PBDTGetCommentAsync
  4069.     ENDIF
  4070.  
  4071. ;
  4072. ; pascal OSErr PBDTFlushSync(DTPBPtr paramBlock)
  4073. ;
  4074.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4075.         ; parameters:
  4076.         ;    paramBlock      => A0
  4077.         ; returns:
  4078.         ;    OSErr           <= D0
  4079.         Macro
  4080.         _PBDTFlushSync
  4081.             moveq               #43,D0
  4082.             dc.w                $A260
  4083.         EndM
  4084.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4085.         IMPORT_CFM_FUNCTION PBDTFlushSync
  4086.     ENDIF
  4087.  
  4088. ;
  4089. ; pascal OSErr PBDTFlushAsync(DTPBPtr paramBlock)
  4090. ;
  4091.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4092.         ; parameters:
  4093.         ;    paramBlock      => A0
  4094.         ; returns:
  4095.         ;    OSErr           <= D0
  4096.         Macro
  4097.         _PBDTFlushAsync
  4098.             moveq               #43,D0
  4099.             dc.w                $A660
  4100.         EndM
  4101.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4102.         IMPORT_CFM_FUNCTION PBDTFlushAsync
  4103.     ENDIF
  4104.  
  4105. ;
  4106. ; pascal OSErr PBDTResetSync(DTPBPtr paramBlock)
  4107. ;
  4108.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4109.         ; parameters:
  4110.         ;    paramBlock      => A0
  4111.         ; returns:
  4112.         ;    OSErr           <= D0
  4113.         Macro
  4114.         _PBDTResetSync
  4115.             moveq               #44,D0
  4116.             dc.w                $A260
  4117.         EndM
  4118.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4119.         IMPORT_CFM_FUNCTION PBDTResetSync
  4120.     ENDIF
  4121.  
  4122. ;
  4123. ; pascal OSErr PBDTResetAsync(DTPBPtr paramBlock)
  4124. ;
  4125.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4126.         ; parameters:
  4127.         ;    paramBlock      => A0
  4128.         ; returns:
  4129.         ;    OSErr           <= D0
  4130.         Macro
  4131.         _PBDTResetAsync
  4132.             moveq               #44,D0
  4133.             dc.w                $A660
  4134.         EndM
  4135.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4136.         IMPORT_CFM_FUNCTION PBDTResetAsync
  4137.     ENDIF
  4138.  
  4139. ;
  4140. ; pascal OSErr PBDTGetInfoSync(DTPBPtr paramBlock)
  4141. ;
  4142.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4143.         ; parameters:
  4144.         ;    paramBlock      => A0
  4145.         ; returns:
  4146.         ;    OSErr           <= D0
  4147.         Macro
  4148.         _PBDTGetInfoSync
  4149.             moveq               #45,D0
  4150.             dc.w                $A260
  4151.         EndM
  4152.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4153.         IMPORT_CFM_FUNCTION PBDTGetInfoSync
  4154.     ENDIF
  4155.  
  4156. ;
  4157. ; pascal OSErr PBDTGetInfoAsync(DTPBPtr paramBlock)
  4158. ;
  4159.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4160.         ; parameters:
  4161.         ;    paramBlock      => A0
  4162.         ; returns:
  4163.         ;    OSErr           <= D0
  4164.         Macro
  4165.         _PBDTGetInfoAsync
  4166.             moveq               #45,D0
  4167.             dc.w                $A660
  4168.         EndM
  4169.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4170.         IMPORT_CFM_FUNCTION PBDTGetInfoAsync
  4171.     ENDIF
  4172.  
  4173. ;
  4174. ; pascal OSErr PBDTOpenInform(DTPBPtr paramBlock)
  4175. ;
  4176.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4177.         ; parameters:
  4178.         ;    paramBlock      => A0
  4179.         ; returns:
  4180.         ;    OSErr           <= D0
  4181.         Macro
  4182.         _PBDTOpenInform
  4183.             moveq               #46,D0
  4184.             dc.w                $A060
  4185.         EndM
  4186.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4187.         IMPORT_CFM_FUNCTION PBDTOpenInform
  4188.     ENDIF
  4189.  
  4190. ;
  4191. ; pascal OSErr PBDTDeleteSync(DTPBPtr paramBlock)
  4192. ;
  4193.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4194.         ; parameters:
  4195.         ;    paramBlock      => A0
  4196.         ; returns:
  4197.         ;    OSErr           <= D0
  4198.         Macro
  4199.         _PBDTDeleteSync
  4200.             moveq               #47,D0
  4201.             dc.w                $A060
  4202.         EndM
  4203.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4204.         IMPORT_CFM_FUNCTION PBDTDeleteSync
  4205.     ENDIF
  4206.  
  4207. ;
  4208. ; pascal OSErr PBDTDeleteAsync(DTPBPtr paramBlock)
  4209. ;
  4210.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4211.         ; parameters:
  4212.         ;    paramBlock      => A0
  4213.         ; returns:
  4214.         ;    OSErr           <= D0
  4215.         Macro
  4216.         _PBDTDeleteAsync
  4217.             moveq               #47,D0
  4218.             dc.w                $A460
  4219.         EndM
  4220.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4221.         IMPORT_CFM_FUNCTION PBDTDeleteAsync
  4222.     ENDIF
  4223.  
  4224. ;   VolumeMount traps  
  4225. ;
  4226. ; pascal OSErr PBGetVolMountInfoSize(ParmBlkPtr paramBlock)
  4227. ;
  4228.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4229.         ; parameters:
  4230.         ;    paramBlock      => A0
  4231.         ; returns:
  4232.         ;    OSErr           <= D0
  4233.         Macro
  4234.         _PBGetVolMountInfoSize
  4235.             moveq               #63,D0
  4236.             dc.w                $A260
  4237.         EndM
  4238.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4239.         IMPORT_CFM_FUNCTION PBGetVolMountInfoSize
  4240.     ENDIF
  4241.  
  4242. ;
  4243. ; pascal OSErr PBGetVolMountInfo(ParmBlkPtr paramBlock)
  4244. ;
  4245.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4246.         ; parameters:
  4247.         ;    paramBlock      => A0
  4248.         ; returns:
  4249.         ;    OSErr           <= D0
  4250.         Macro
  4251.         _PBGetVolMountInfo
  4252.             moveq               #64,D0
  4253.             dc.w                $A260
  4254.         EndM
  4255.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4256.         IMPORT_CFM_FUNCTION PBGetVolMountInfo
  4257.     ENDIF
  4258.  
  4259. ;
  4260. ; pascal OSErr PBVolumeMount(ParmBlkPtr paramBlock)
  4261. ;
  4262.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4263.         ; parameters:
  4264.         ;    paramBlock      => A0
  4265.         ; returns:
  4266.         ;    OSErr           <= D0
  4267.         Macro
  4268.         _PBVolumeMount
  4269.             moveq               #65,D0
  4270.             dc.w                $A260
  4271.         EndM
  4272.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4273.         IMPORT_CFM_FUNCTION PBVolumeMount
  4274.     ENDIF
  4275.  
  4276. ;   FSp traps  
  4277. ;
  4278. ; pascal OSErr FSMakeFSSpec(short vRefNum, long dirID, ConstStr255Param fileName, FSSpec *spec)
  4279. ;
  4280.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4281.         Macro
  4282.         _FSMakeFSSpec
  4283.             moveq               #1,D0
  4284.             dc.w                $AA52
  4285.         EndM
  4286.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4287.         IMPORT_CFM_FUNCTION FSMakeFSSpec
  4288.     ENDIF
  4289.  
  4290. ;
  4291. ; pascal OSErr FSpOpenDF(const FSSpec *spec, SInt8 permission, short *refNum)
  4292. ;
  4293.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4294.         Macro
  4295.         _FSpOpenDF
  4296.             moveq               #2,D0
  4297.             dc.w                $AA52
  4298.         EndM
  4299.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4300.         IMPORT_CFM_FUNCTION FSpOpenDF
  4301.     ENDIF
  4302.  
  4303. ;
  4304. ; pascal OSErr FSpOpenRF(const FSSpec *spec, SInt8 permission, short *refNum)
  4305. ;
  4306.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4307.         Macro
  4308.         _FSpOpenRF
  4309.             moveq               #3,D0
  4310.             dc.w                $AA52
  4311.         EndM
  4312.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4313.         IMPORT_CFM_FUNCTION FSpOpenRF
  4314.     ENDIF
  4315.  
  4316. ;
  4317. ; pascal OSErr FSpCreate(const FSSpec *spec, OSType creator, OSType fileType, ScriptCode scriptTag)
  4318. ;
  4319.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4320.         Macro
  4321.         _FSpCreate
  4322.             moveq               #4,D0
  4323.             dc.w                $AA52
  4324.         EndM
  4325.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4326.         IMPORT_CFM_FUNCTION FSpCreate
  4327.     ENDIF
  4328.  
  4329. ;
  4330. ; pascal OSErr FSpDirCreate(const FSSpec *spec, ScriptCode scriptTag, long *createdDirID)
  4331. ;
  4332.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4333.         Macro
  4334.         _FSpDirCreate
  4335.             moveq               #5,D0
  4336.             dc.w                $AA52
  4337.         EndM
  4338.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4339.         IMPORT_CFM_FUNCTION FSpDirCreate
  4340.     ENDIF
  4341.  
  4342. ;
  4343. ; pascal OSErr FSpDelete(const FSSpec *spec)
  4344. ;
  4345.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4346.         Macro
  4347.         _FSpDelete
  4348.             moveq               #6,D0
  4349.             dc.w                $AA52
  4350.         EndM
  4351.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4352.         IMPORT_CFM_FUNCTION FSpDelete
  4353.     ENDIF
  4354.  
  4355. ;
  4356. ; pascal OSErr FSpGetFInfo(const FSSpec *spec, FInfo *fndrInfo)
  4357. ;
  4358.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4359.         Macro
  4360.         _FSpGetFInfo
  4361.             moveq               #7,D0
  4362.             dc.w                $AA52
  4363.         EndM
  4364.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4365.         IMPORT_CFM_FUNCTION FSpGetFInfo
  4366.     ENDIF
  4367.  
  4368. ;
  4369. ; pascal OSErr FSpSetFInfo(const FSSpec *spec, const FInfo *fndrInfo)
  4370. ;
  4371.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4372.         Macro
  4373.         _FSpSetFInfo
  4374.             moveq               #8,D0
  4375.             dc.w                $AA52
  4376.         EndM
  4377.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4378.         IMPORT_CFM_FUNCTION FSpSetFInfo
  4379.     ENDIF
  4380.  
  4381. ;
  4382. ; pascal OSErr FSpSetFLock(const FSSpec *spec)
  4383. ;
  4384.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4385.         Macro
  4386.         _FSpSetFLock
  4387.             moveq               #9,D0
  4388.             dc.w                $AA52
  4389.         EndM
  4390.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4391.         IMPORT_CFM_FUNCTION FSpSetFLock
  4392.     ENDIF
  4393.  
  4394. ;
  4395. ; pascal OSErr FSpRstFLock(const FSSpec *spec)
  4396. ;
  4397.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4398.         Macro
  4399.         _FSpRstFLock
  4400.             moveq               #10,D0
  4401.             dc.w                $AA52
  4402.         EndM
  4403.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4404.         IMPORT_CFM_FUNCTION FSpRstFLock
  4405.     ENDIF
  4406.  
  4407. ;
  4408. ; pascal OSErr FSpRename(const FSSpec *spec, ConstStr255Param newName)
  4409. ;
  4410.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4411.         Macro
  4412.         _FSpRename
  4413.             moveq               #11,D0
  4414.             dc.w                $AA52
  4415.         EndM
  4416.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4417.         IMPORT_CFM_FUNCTION FSpRename
  4418.     ENDIF
  4419.  
  4420. ;
  4421. ; pascal OSErr FSpCatMove(const FSSpec *source, const FSSpec *dest)
  4422. ;
  4423.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4424.         Macro
  4425.         _FSpCatMove
  4426.             moveq               #12,D0
  4427.             dc.w                $AA52
  4428.         EndM
  4429.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4430.         IMPORT_CFM_FUNCTION FSpCatMove
  4431.     ENDIF
  4432.  
  4433. ;
  4434. ; pascal OSErr FSpExchangeFiles(const FSSpec *source, const FSSpec *dest)
  4435. ;
  4436.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4437.         Macro
  4438.         _FSpExchangeFiles
  4439.             moveq               #15,D0
  4440.             dc.w                $AA52
  4441.         EndM
  4442.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4443.         IMPORT_CFM_FUNCTION FSpExchangeFiles
  4444.     ENDIF
  4445.  
  4446.  
  4447. ;
  4448. ; pascal OSErr PBShareSync(HParmBlkPtr paramBlock)
  4449. ;
  4450.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4451.         ; parameters:
  4452.         ;    paramBlock      => A0
  4453.         ; returns:
  4454.         ;    OSErr           <= D0
  4455.         Macro
  4456.         _PBShareSync
  4457.             moveq               #66,D0
  4458.             dc.w                $A260
  4459.         EndM
  4460.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4461.         IMPORT_CFM_FUNCTION PBShareSync
  4462.     ENDIF
  4463.  
  4464. ;
  4465. ; pascal OSErr PBShareAsync(HParmBlkPtr paramBlock)
  4466. ;
  4467.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4468.         ; parameters:
  4469.         ;    paramBlock      => A0
  4470.         ; returns:
  4471.         ;    OSErr           <= D0
  4472.         Macro
  4473.         _PBShareAsync
  4474.             moveq               #66,D0
  4475.             dc.w                $A660
  4476.         EndM
  4477.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4478.         IMPORT_CFM_FUNCTION PBShareAsync
  4479.     ENDIF
  4480.  
  4481. ;
  4482. ; pascal OSErr PBUnshareSync(HParmBlkPtr paramBlock)
  4483. ;
  4484.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4485.         ; parameters:
  4486.         ;    paramBlock      => A0
  4487.         ; returns:
  4488.         ;    OSErr           <= D0
  4489.         Macro
  4490.         _PBUnshareSync
  4491.             moveq               #67,D0
  4492.             dc.w                $A260
  4493.         EndM
  4494.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4495.         IMPORT_CFM_FUNCTION PBUnshareSync
  4496.     ENDIF
  4497.  
  4498. ;
  4499. ; pascal OSErr PBUnshareAsync(HParmBlkPtr paramBlock)
  4500. ;
  4501.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4502.         ; parameters:
  4503.         ;    paramBlock      => A0
  4504.         ; returns:
  4505.         ;    OSErr           <= D0
  4506.         Macro
  4507.         _PBUnshareAsync
  4508.             moveq               #67,D0
  4509.             dc.w                $A660
  4510.         EndM
  4511.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4512.         IMPORT_CFM_FUNCTION PBUnshareAsync
  4513.     ENDIF
  4514.  
  4515. ;
  4516. ; pascal OSErr PBGetUGEntrySync(HParmBlkPtr paramBlock)
  4517. ;
  4518.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4519.         ; parameters:
  4520.         ;    paramBlock      => A0
  4521.         ; returns:
  4522.         ;    OSErr           <= D0
  4523.         Macro
  4524.         _PBGetUGEntrySync
  4525.             moveq               #68,D0
  4526.             dc.w                $A260
  4527.         EndM
  4528.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4529.         IMPORT_CFM_FUNCTION PBGetUGEntrySync
  4530.     ENDIF
  4531.  
  4532. ;
  4533. ; pascal OSErr PBGetUGEntryAsync(HParmBlkPtr paramBlock)
  4534. ;
  4535.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4536.         ; parameters:
  4537.         ;    paramBlock      => A0
  4538.         ; returns:
  4539.         ;    OSErr           <= D0
  4540.         Macro
  4541.         _PBGetUGEntryAsync
  4542.             moveq               #68,D0
  4543.             dc.w                $A660
  4544.         EndM
  4545.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4546.         IMPORT_CFM_FUNCTION PBGetUGEntryAsync
  4547.     ENDIF
  4548.  
  4549.  
  4550.  
  4551.  
  4552.     IF TARGET_CPU_68K THEN
  4553. ;    PBGetAltAccess and PBSetAltAccess are obsolete and will not be supported 
  4554. ;    on PowerPC. Equivalent functionality is provided by the routines 
  4555. ;    PBGetForeignPrivs and PBSetForeignPrivs.
  4556. ;
  4557.  
  4558. ;
  4559. ; pascal OSErr PBGetAltAccessSync(HParmBlkPtr paramBlock)
  4560. ;
  4561.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4562.         ; parameters:
  4563.         ;    paramBlock      => A0
  4564.         ; returns:
  4565.         ;    OSErr           <= D0
  4566.         Macro
  4567.         _PBGetAltAccessSync
  4568.             moveq               #96,D0
  4569.             dc.w                $A060
  4570.         EndM
  4571.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4572.         IMPORT_CFM_FUNCTION PBGetAltAccessSync
  4573.     ENDIF
  4574.  
  4575. ;
  4576. ; pascal OSErr PBGetAltAccessAsync(HParmBlkPtr paramBlock)
  4577. ;
  4578.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4579.         ; parameters:
  4580.         ;    paramBlock      => A0
  4581.         ; returns:
  4582.         ;    OSErr           <= D0
  4583.         Macro
  4584.         _PBGetAltAccessAsync
  4585.             moveq               #96,D0
  4586.             dc.w                $A460
  4587.         EndM
  4588.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4589.         IMPORT_CFM_FUNCTION PBGetAltAccessAsync
  4590.     ENDIF
  4591.  
  4592. ;
  4593. ; pascal OSErr PBSetAltAccessSync(HParmBlkPtr paramBlock)
  4594. ;
  4595.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4596.         ; parameters:
  4597.         ;    paramBlock      => A0
  4598.         ; returns:
  4599.         ;    OSErr           <= D0
  4600.         Macro
  4601.         _PBSetAltAccessSync
  4602.             moveq               #97,D0
  4603.             dc.w                $A060
  4604.         EndM
  4605.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4606.         IMPORT_CFM_FUNCTION PBSetAltAccessSync
  4607.     ENDIF
  4608.  
  4609. ;
  4610. ; pascal OSErr PBSetAltAccessAsync(HParmBlkPtr paramBlock)
  4611. ;
  4612.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4613.         ; parameters:
  4614.         ;    paramBlock      => A0
  4615.         ; returns:
  4616.         ;    OSErr           <= D0
  4617.         Macro
  4618.         _PBSetAltAccessAsync
  4619.             moveq               #97,D0
  4620.             dc.w                $A460
  4621.         EndM
  4622.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4623.         IMPORT_CFM_FUNCTION PBSetAltAccessAsync
  4624.     ENDIF
  4625.  
  4626.     ENDIF    ; TARGET_CPU_68K
  4627.  
  4628. ;    The PBxxx() routines are obsolete.  
  4629. ;    
  4630. ;    Use the PBxxxSync() or PBxxxAsync() version instead.
  4631. ;
  4632.  
  4633.     IF OLDROUTINELOCATIONS THEN
  4634.     ENDIF    ; OLDROUTINELOCATIONS
  4635.     ENDIF ; __FILES__ 
  4636.  
  4637.